Cách đọc và viết file bằng ứng dụng JES

JES là một môi trường lập trình mà bạn có thể dùng để viết, kiểm tra và chạy code nội bộ trên máy tính. JES cung cấp nhiều tính năng như chỉnh sửa ảnh, video và phương tiện khác.

Viết file trong app JES

Bạn cũng có thể hoàn thành các nhiệm vụ khác trong JES như đọc hoặc viết file. Bạn có thể đọc dữ liệu từ các kiểu file khác nhau, bao gồm file text và CSV.

Cách đọc một file bằng JES

Để đọc một file trong JES, trước tiên hãy mở nó, rồi đọc nội dung và lưu nó dưới dạng một biến để xử lý sâu hơn.

Nếu đang đọc một file text, bạn có thể lưu từng dòng file riêng dưới dạng một phần tử trong một mảng. Nếu đang đọc một file CSV, bạn cũng có thể lưu trữ riêng giá trị của từng ô.

1. Mở phần mềm JES trên máy tính. Trong cửa sổ lập trình, tạo một hàm mới:

def readFromFile():

2. Dùng hàm pickAFile() để yêu cầu người dùng chọn một file.

file = pickAFile() 

3. Xác thực file để đảm bảo người dùng chỉ chọn file TXT hoặc CSV:

if not file.endswith(".txt") and not file.endswith(".csv"):
  print("Error: Only .txt and .csv files are supported.") 
  return

4. Mở file đã chọn bằng hàm open(). Tham số đầu tiên là tệp mà bạn đang đọc. Tham số thứ hai xác định chế độ dùng để mở file. Ví dụ, rt nghĩa là read file - đọc file.

openedFile = open(file, "rt")

5. Trong khi mở file, đọc tất cả nội dung bên trong. Lưu nội dung file trong một biến:

allContent = openedFile.read()

6. Đóng file:

openedFile.close()

7. Biến “allContent” chứa một chuỗi đơn lẻ lưu toàn bộ nội dung bên trong file. Một ký tự dòng mới (\n) tách riêng từng dòng trong một file. Nếu bạn muốn truy cập từng dòng đơn lẻ, tách một chuỗi và lưu từng dòng dưới dạng thành phần trong một mảng:

if file.endswith(".txt"):
  rows = allContent.split("\n") 
  print(rows)

8. Nếu đang đọc một file CSV, bạn có thể tách riêng từng dòng để lấy giá trị từ từng ô đơn lẻ. Đối với mỗi hàng trong file CSV, phân tách các giá trị bằng dấu phẩy, đồng thời lưu các giá trị trong một mảng nhân đôi. Cấu trúc của mảng sẽ trông tương tự như sau: [[1,2,3], [4,5,6], [7,8,9]].

if file.endswith(".csv"): 
  rows = allContent.split("\n")
  csvData = []

  for row in rows:
    if (row != ''):
      cells = row.split(",") 
      csvData.append([float(cell) for cell in cells]) 

  print(csvData)

9. Để kiểm tra chương trình này, tạo một file text mới mang tên sample.txt, và điền vào đó một số text:

This is the start of the file
This is another line 
This is the third line
This is the end of the file

10. Ngoài ra, tạo một file CSV, đặt tên numbers.csv và điền một số dữ liệu vào nó.

Ghi dữ liệu vào file JES

11. Trên giao diện JES, click nút Load Program, nằm giữa cửa sổ lập trình và dòng lệnh:

Đọc file trong app JES

12. Chạy hàm readFromFile() trong dòng lệnh:

readFromFile()

13. Dùng nhắc file, điều hướng tới nơi bạn đã lưu tệp sample.txt. Chọn file để mở nó và xem nội dung được in vào console:

Tải chương trình

14. Chạy lại hàm readFromFile() lần nữa trong nhắc lệnh. Chọn file numbers.csv để xem nội dung được in vào console, với từng ô được tách riêng và lưu trong một mảng:

Cách viết một file bằng JES

Bạn có thể viết một file text hoặc CSV bằng hàm write(). Bạn có thể mở file để nối thêm hoặc ghi. Dữ liệu bổ sung sẽ thêm vào nội dung hiện có, còn viết sẽ ghi đè vào bất kỳ nội dung có sẵn trong file.

Tạo một hàm mới và dùng nó để viết một file text và CSV.

1. Tạo một hàm mới mang tên writeToFile():

def writeToFile():

2. Dùng hàm pickAFile() để nhắc người dùng chọn một file:

file = pickAFile()

3. Mở file để thêm dữ liệu:

openedFile = open(file, "at")

4. Ngoài ra, nếu muốn ghi đè tất cả nội dung trong file, nhập w làm đối số thứ hai:

openedFile = open(file, "w")

5. Viết file. Để thêm nhiều dòng, dùng “\n" để tách nội dung thành các dòng, hoặc dùng lại hàm write():

if file.endswith(".txt"):
  openedFile.write("\nTesting")
  openedFile.write("\nTesting1\nTesting2") 
  openedFile.write("\nTesting3") 

6. Để viết một file CSV, viết tất cả dữ liệu cho một hàng bằng hàm write(), và tách riêng các giá trị cho từng ô bằng một dấu phẩy:

if file.endswith(".csv"): 
  openedFile.write("\n12,34,56")

7. Đóng file sau khi viết nó:

openedFile.close()
print("Wrote to file successfully")

8. Click nút Load Program, nằm giữa cửa sổ lập trình và dòng lệnh.

9. Chạy hàm writeToFile() trong nhắc lệnh:

writeToFile()

10. Dùng nhắc file, chọn file “sample.txt". Sau khi JES kết thúc việc ghi file, mở “sample.txt” để xem các dòng mới được thêm vào cuối file:

Văn bản mẫu

11. Chạy lại hàm writeToFile() trong dòng lệnh. Mở file “numbers.csv” để xem các giá trị ô mới được thêm vào cuối file.

Hoàn tất việc ghi file trong ứng dụng JES

Ghi dữ liệu vào một file là một hàm cực kỳ hữu ích mà bạn có thể dùng nếu cần lưu dữ liệu bất kỳ vào bên trong một chương trình. Trên đây là cách đọc và ghi dữ liệu vào một app JES. Hi vọng bài viết hữu ích với các bạn.

Thứ Hai, 20/02/2023 09:58
51 👨 160
0 Bình luận
Sắp xếp theo