Cách tạo danh sách từ tệp văn bản Python

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

Làm cách nào để chuyển đổi tệp txt thành danh sách trong Python?

ví dụ 1. Chuyển đổi tệp văn bản thành danh sách bằng cách tách văn bản khi xuất hiện '. '. Chúng tôi mở tệp ở chế độ đọc, sau đó đọc tất cả văn bản bằng hàm read() và lưu nó vào một biến có tên là dữ liệu. sau đó, chúng tôi thay thế phần cuối của dòng('/n') bằng ' ' và tách văn bản ra xa hơn khi '

Làm cách nào để đọc tệp txt dưới dạng danh sách trong Python?

Bạn có thể đọc tệp văn bản bằng phương thức open() và readlines(). Để đọc một tệp văn bản vào một danh sách, hãy sử dụng phương thức split() . 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 (“, ”).

Làm cách nào để tạo danh sách trong Python?

Để tạo danh sách trong Python, chúng tôi sử dụng dấu ngoặc vuông ( [] ) . Đây là danh sách trông như thế nào. ListName = [ListItem, ListItem1, ListItem2, ListItem3,. ] Lưu ý rằng danh sách có thể có/lưu trữ các loại dữ liệu khác nhau.

Chủ đề