Tìm hiểu cách tải và lưu dữ liệu trực tiếp từ ứng dụng JES của bạn với hướng dẫn từng bước này.
JES là một môi trường lập trình mà bạn có thể sử dụng để viết, kiểm tra và chạy mã cục bộ trên máy tính của mình. JES cung cấp nhiều khả năng như khả năng chỉnh sửa ảnh, video hoặc phương tiện khác.
Bạn cũng có thể hoàn thành các tác vụ khác trong JES chẳng hạn như đọc hoặc ghi vào tệp. Bạn có thể đọc dữ liệu từ các loại tệp khác nhau, bao gồm tệp văn bản và tệp CSV.
Cách đọc từ tệp bằng JES
Bạn có thể xem và tải xuống mã nguồn đầy đủ cho các ví dụ này từ kho lưu trữ GitHub.
Để đọc một tệp trong JES, trước tiên hãy mở nó, sau đó đọc nội dung của nó và lưu nó vào một biến để xử lý thêm.
Nếu bạn đang đọc từ một tệp văn bản, bạn có thể lưu trữ riêng từng dòng của tệp dưới dạng một phần tử trong một mảng. Nếu bạn đang đọc từ tệp CSV, bạn cũng có thể lưu trữ riêng giá trị của từng ô.
- Mở phần mềm JES trên máy tính của bạn. Trong cửa sổ lập trình, tạo một chức năng mới:
def readFromFile():
- Sử dụng hàm pickAFile() để yêu cầu người dùng chọn một tệp. Bạn có thể dễ dàng tìm trợ giúp cho các hàm JES tích hợp để tìm hiểu thêm về chúng.
file = pickAFile()
- Xác thực tệp để đảm bảo người dùng chỉ chọn tệp TXT hoặc CSV:
if not file.endswith(".txt") and not file.endswith(".csv"):
print("Error: Only .txt and .csv files are supported.")
return - Mở tệp đã chọn bằng hàm open(). Tham số đầu tiên là tệp mà bạn đang đọc. Tham số thứ hai chỉ định chế độ được sử dụng để mở tệp. Ví dụ: “rt” có nghĩa là “đọc tệp”.
openedFile = open(file, "rt")
- Trong khi tệp đang mở, hãy đọc tất cả nội dung trong đó. Lưu trữ nội dung của tệp trong một biến:
allContent = openedFile.read()
- Đóng tệp:
openedFile.close()
- Biến “allContent” chứa một chuỗi chứa tất cả nội dung bên trong tệp. Một ký tự xuống dòng (N) phân tách từng dòng trong tệp. Nếu bạn muốn truy cập từng dòng riêng lẻ, hãy tách chuỗi và lưu trữ từng dòng dưới dạng một phần tử trong một mảng:
if file.endswith(".txt"):
rows = allContent.split("n")
print(rows) - Nếu bạn đang đọc từ tệp CSV, bạn có thể tách riêng từng dòng để lấy giá trị từ từng ô riêng lẻ. Đối với mỗi hàng trong tệp CSV, hãy phân tách các giá trị bằng dấu phẩy và lưu trữ các giá trị trong một mảng kép. Cấu trúc của mảng sẽ trông giống như thế này: [[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("https://www.smartreviewaz.com/jes-read-write-files/,")
csvData.append([float(cell) for cell in cells])
print(csvData) - Để kiểm tra chương trình, hãy tạo một tệp văn bản mới có tên mẫu.txtvà điền vào đó một số văn bản:
This is the start of the file
This is another line
This is the third line
This is the end of the file - Đồng thời tạo một tệp CSV, đặt tên cho nó số.csvvà điền vào đó một số dữ liệu:
- Trên giao diện JES, click vào Tải chương trình nút, nằm giữa cửa sổ lập trình và dòng lệnh:
- Chạy hàm readFromFile() trong dòng lệnh:
readFromFile()
- Sử dụng dấu nhắc tệp, điều hướng đến nơi bạn đã lưu trữ tệp sample.txt của mình. Chọn tệp để mở và xem nội dung được in ra bàn điều khiển:
- Chạy lại hàm readFromFile() trong dấu nhắc lệnh. Chọn tệp numbers.csv để xem nội dung được in ra bảng điều khiển, với mỗi ô được phân tách và lưu trữ trong mảng:
Cách ghi vào tệp bằng JES
Bạn có thể ghi vào tệp CSV hoặc tệp văn bản bằng hàm write(). Bạn có thể mở tệp để nối thêm hoặc ghi. Việc thêm vào sẽ thêm vào nội dung hiện có, trong khi viết sẽ ghi đè lên bất kỳ nội dung hiện có nào trong tệp.
Tạo một chức năng mới và sử dụng nó để ghi vào tệp văn bản và tệp CSV.
- Tạo một hàm mới có tên writeToFile():
def writeToFile():
- Sử dụng hàm pickAFile() để nhắc người dùng chọn tệp:
file = pickAFile()
- Mở tệp để nối thêm:
openedFile = open(file, "at")
- Ngoài ra, nếu bạn muốn ghi đè lên tất cả nội dung trong tệp, hãy nhập “w” làm đối số thứ hai:
openedFile = open(file, "w")
- Ghi vào tập tin. Để nối nhiều dòng, hãy sử dụng “n” để tách nội dung thành các dòng hoặc sử dụng lại hàm write():
if file.endswith(".txt"):
openedFile.write("nTesting")
openedFile.write("nTesting1nTesting2")
openedFile.write("nTesting3") - Để ghi vào tệp CSV, hãy ghi tất cả dữ liệu cho một hàng bằng cách sử dụng hàm write() và phân tách các giá trị cho từng ô bằng dấu phẩy:
if file.endswith(".csv"):
openedFile.write("n12,34,56") - Đóng tệp sau khi ghi vào nó:
openedFile.close()
print("Wrote to file successfully") - bấm vào Tải chương trình nút, nằm giữa cửa sổ lập trình và dòng lệnh.
- Chạy hàm writeToFile() trong dấu nhắc lệnh:
writeToFile()
- Sử dụng dấu nhắc tệp, chọn tệp “sample.txt”. Khi JES ghi xong vào tệp, hãy mở “sample.txt” để xem các dòng mới được thêm vào cuối tệp:
- Chạy lại hàm writeToFile() trong dòng lệnh. Mở tệp “numbers.csv” để xem các giá trị ô mới được thêm vào cuối tệp.
Đọc và ghi dữ liệu tệp với JES
Ghi dữ liệu vào một tệp là một chức năng cực kỳ hữu ích mà bạn có thể sử dụng nếu bạn cần lưu bất kỳ dữ liệu nào bên trong một chương trình.
Khám phá những cách khác mà bạn có thể đọc hoặc ghi vào tệp bằng Python. Ví dụ về điều này bao gồm việc sử dụng các mô-đun như Pandas hoặc Openpyxl.