Trong hướng dẫn ngắn này, chúng ta sẽ tìm hiểu cách truy xuất nội dung của tệp dưới dạng danh sách các từ bằng Python
Xác định nội dung tệp mẫu
Hãy bắt đầu bằng cách tạo một tệp mới với một số nội dung mẫu mà bạn có thể sử dụng để làm theo hướng dẫn này
from pathlib import Path f_path = Path(r"C:\WorkDir\word_file.txt") f_path.write_text('This is our log file that we will parse using Python code.')Điều này sẽ trả về số nguyên 58, là số ký tự trong văn bản chúng tôi đã viết
Nhập danh sách các từ từ tệp vào danh sách
Để tạo danh sách các từ trong tệp, chúng tôi sẽ sử dụng hai chức năng
- Đọc(). đọc toàn bộ luồng tệp vào một đối tượng chuỗi
- Tách ra(). phân chia một chuỗi thành một đối tượng danh sách. Trả về một danh sách
Chúng tôi cũng sẽ sử dụng khối with, khối này đảm nhiệm việc xử lý tệp và giúp chúng tôi không phải đóng tệp một cách rõ ràng sau khi đọc nó
with open(f_path, 'r') as f_object: word_lst = f_object.read().split()Nếu chúng tôi in word_lst, chúng tôi sẽ nhận được một phân chia từng từ của tệp của chúng tôi
print (word_lst)['This', 'is', 'our', 'log', 'file', 'that', 'we', 'will', 'parse', 'using', 'Python', 'code.']Đọc nhiều dòng tệp từng từ
Chúng ta có thể sử dụng phương pháp đã nêu ở trên để chia các tệp nhiều dòng thành các từ. Nhưng nếu chúng ta muốn lấy một danh sách từng từ riêng biệt cho mỗi dòng/chuỗi trong tệp của mình thì sao?
Bằng cách tiếp tục, bạn đồng ý với Điều khoản dịch vụ và Chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận các ưu đãi và cơ hội từ Career Karma qua điện thoại, tin nhắn văn bản và email
Trong hướng dẫn này, chúng tôi thảo luận cách sử dụng phương pháp with open("grilled_cheese.txt", "r") as grilled_cheese: lines = grilled_cheese.readlines() print(lines)1 để đọc tệp văn bản thành danh sách. Chúng tôi sẽ đề cập đến một ví dụ để bạn có thể bắt đầu đọc tệp văn bản vào danh sách một cách nhanh chóng
con trăn. Đọc tệp văn bản vào danh sách
Hãy bắt đầu với một tệp văn bản có tên grill_cheese. txt. Tập tin này chứa các thành phần cho một chiếc bánh sandwich phô mai nướng. Nội dung tập tin của chúng tôi trông như thế này
2 tbsp, ricotta 1 tbsp, grated parmesan 50g, mozzarella 25g, gorgonzola 2, thick slices white bread 1 tbsp, butter
Cột đầu tiên trong tệp của chúng tôi chứa số lượng của từng thành phần sẽ được sử dụng. Cột thứ hai chứa tên của một thành phần
Chúng tôi đọc tệp này vào mã của mình bằng phương pháp with open("grilled_cheese.txt", "r") as grilled_cheese: lines = grilled_cheese.readlines() print(lines)3 và with open("grilled_cheese.txt", "r") as grilled_cheese: lines = grilled_cheese.readlines() print(lines)0
with open("grilled_cheese.txt", "r") as grilled_cheese: lines = grilled_cheese.readlines() print(lines)
Trong mã của chúng tôi, chúng tôi mở một tệp có tên “grilled_cheese. txt” ở chế độ đọc. Chế độ đọc được biểu thị bằng ký tự “r” trong câu lệnh with open("grilled_cheese.txt", "r") as grilled_cheese:
lines = grilled_cheese.readlines()
print(lines)3 của chúng tôi. Tiếp theo, chúng tôi in những dòng đó ra bàn điều khiển
Hãy xem những gì mã Python của chúng tôi trả về
with open(f_path, 'r') as f_object: word_lst = f_object.read().split()0
Mã của chúng tôi trả về danh sách từng dòng trong tệp của chúng tôi. Đây không hoàn toàn là đầu ra mà chúng tôi đang mong đợi. Trong khi chúng tôi đọc tệp của mình vào danh sách, chúng tôi gặp sự cố. mỗi dòng được lưu trữ trong chuỗi riêng của nó. Thành phần và số lượng của chúng không tách rời
» THÊM. Cách sao chép danh sách bằng Python
Chia các giá trị thành một danh sách
Để giải quyết vấn đề này, chúng ta sử dụng phương thức split(). Phương pháp này cho phép chúng tôi chia một chuỗi bằng ký tự phân cách mà chúng tôi chỉ định
Để bắt đầu, chúng tôi khai báo hai danh sách. số lượng và thành phần. Mã này sẽ vẫn được thụt vào vì nó là một phần của khối mã with open("grilled_cheese.txt", "r") as grilled_cheese: lines = grilled_cheese.readlines() print(lines)3 của chúng tôi
with open(f_path, 'r') as f_object: word_lst = f_object.read().split()2
Chúng tôi sẽ lặp lại danh sách của mình để có thể truy cập từng dòng văn bản từ tệp của mình. Sau đó, chúng tôi sẽ chia mỗi dòng thành hai phần. Điểm phân chia là dấu phẩy theo sau là khoảng trắng trên mỗi dòng
with open(f_path, 'r') as f_object: word_lst = f_object.read().split()3
Vòng lặp for cho phép chúng tôi đọc từng dòng tệp của mình. Giá trị đầu tiên trong “as_list” là số lượng của một thành phần. Giá trị thứ hai là tên của thành phần. Sau đó chúng tôi in cả hai danh sách này ra bàn điều khiển
with open(f_path, 'r') as f_object: word_lst = f_object.read().split()4
Hãy chạy mã của chúng tôi
with open(f_path, 'r') as f_object: word_lst = f_object.read().split()5
Mã của chúng tôi in ba danh sách ra bàn điều khiển. Danh sách đầu tiên là danh sách tất cả các dòng văn bản trong tệp của chúng tôi. Danh sách thứ hai chứa tất cả số lượng từ tệp của chúng tôi. Danh sách thứ ba chứa tất cả các thành phần
Xóa dòng mới
Vẫn còn một cải tiến mà chúng ta cần thực hiện. Mọi thành phần đều kết thúc bằng ký tự “\n”. Ký tự này biểu thị một dòng mới. Chúng ta có thể loại bỏ ký tự này bằng cách sử dụng phương thức replace()
with open(f_path, 'r') as f_object: word_lst = f_object.read().split()6
Trong vòng lặp for của chúng tôi, chúng tôi thay thế giá trị “\n” bằng một chuỗi rỗng. Chúng tôi làm điều này trên giá trị as_list[1] tương quan với tên của từng thành phần
» THÊM. Cách viết Trình tạo Python
Bây giờ chúng tôi đã thực hiện thay đổi này, chương trình của chúng tôi đã sẵn sàng
with open(f_path, 'r') as f_object: word_lst = f_object.read().split()7
Hãy chạy mã của chúng tôi và xem điều gì sẽ xảy ra
with open(f_path, 'r') as f_object: word_lst = f_object.read().split()8
Mã của chúng tôi đã chuyển đổi thành công tệp văn bản của chúng tôi thành hai danh sách. Một danh sách chứa số lượng nguyên liệu cho một công thức. Danh sách khác chứa các thành phần chúng tôi sẽ sử dụng cho công thức
Phần kết luận
Bạn có thể đọc tệp văn bản bằng phương pháp with open("grilled_cheese.txt", "r") as grilled_cheese:
lines = grilled_cheese.readlines()
print(lines)3 và with open("grilled_cheese.txt", "r") as grilled_cheese:
lines = grilled_cheese.readlines()
print(lines)0. Để đọc một tệp văn bản vào một danh sách, hãy sử dụng phương pháp with open("grilled_cheese.txt", "r") as grilled_cheese:
lines = grilled_cheese.readlines()
print(lines)1. Phương thức này tách các chuỗi thành một danh sách tại một ký tự nhất định
Trong ví dụ trên, chúng ta tách một chuỗi thành một danh sách dựa trên vị trí của dấu phẩy và dấu cách (“, ”). Bây giờ bạn đã sẵn sàng để đọc một tệp văn bản thành một danh sách trong Python như một chuyên gia
Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK