Hướng dẫn how do you read a text file line by line and store it in python? - làm thế nào để bạn đọc từng dòng một tệp văn bản và lưu trữ nó trong python?
Giới thiệuMột nhiệm vụ phổ biến trong lập trình là mở một tệp và phân tích nội dung của nó. Bạn làm gì khi tệp bạn đang cố gắng xử lý khá lớn, như một số GB dữ liệu hoặc lớn hơn? Câu trả lời cho vấn đề này là đọc trong các phần của một tệp tại một thời điểm, xử lý nó, sau đó giải phóng nó khỏi bộ nhớ để bạn có thể xử lý một đoạn khác cho đến khi toàn bộ tệp lớn được xử lý. Mặc dù tùy thuộc vào bạn để xác định kích thước phù hợp cho các khối dữ liệu bạn đang xử lý, đối với nhiều ứng dụng, nhưng việc xử lý một tệp một lần một lần là phù hợp. Show
Trong suốt bài viết này, chúng tôi sẽ trình bày một số ví dụ mã trình bày cách đọc các tệp từng dòng. Trong trường hợp bạn muốn tự mình thử một số ví dụ này, mã được sử dụng trong bài viết này có thể được tìm thấy tại repo GitHub sau đây.
Tệp cơ bản IO trong PythonĐọc từng dòng tệp trong Python với 3Đọc từng dòng tệp trong Python với 4
Đọc từng dòng tệp với vòng lặp 5-cách tiếp cận tốt nhất!
1
Mở để đọc dữ liệu nhị phân It's always good practice to close a file object resource, but it's a task that's easy to forget. 2
Mở để viết dữ liệu nhị phân
Khi bạn đã viết hoặc đọc tất cả các dữ liệu mong muốn trong một đối tượng tệp, bạn cần đóng tệp để tài nguyên có thể được phân bổ lại trên hệ điều hành mà mã đang chạy. Lưu ý: Luôn luôn thực hành tốt để đóng một tài nguyên đối tượng tệp, nhưng đó là một nhiệm vụ dễ quên. Mặc dù bạn luôn có thể nhớ gọi Chỉ cần sử dụng từ khóa 4 (được giới thiệu trong Python 2.5) cho mã chúng tôi sử dụng để mở một đối tượng tệp, Python sẽ làm một cái gì đó tương tự như mã sau. Điều này đảm bảo rằng bất kể đối tượng tệp nào được đóng sau khi sử dụng:
Một trong hai phương pháp này là phù hợp, với ví dụ đầu tiên là Pythonic hơn. Đối tượng tệp được trả về từ hàm 6 có ba phương thức rõ ràng phổ biến ( 6, 3 và 4) để đọc trong dữ liệu. Phương thức 6 đọc tất cả dữ liệu thành một chuỗi. Điều này rất hữu ích cho các tệp nhỏ hơn nơi bạn muốn thực hiện thao tác văn bản trên toàn bộ tệp. Sau đó, có 3, đó là một cách hữu ích để chỉ đọc trong các dòng riêng lẻ, với số lượng gia tăng tại một thời điểm và trả lại chúng dưới dạng chuỗi. Phương pháp rõ ràng cuối cùng, 4, sẽ đọc tất cả các dòng của một tệp và trả về chúng dưới dạng danh sách các chuỗi.
Lưu ý: Đối với phần còn lại của bài viết này, chúng tôi sẽ làm việc với văn bản của cuốn sách "Iliad of Homer", có thể tìm thấy tại gutenberg.org, cũng như trong repo GitHub nơi mã cho bài viết này. Chúng ta hãy bắt đầu với phương thức fp.close() 3, đọc một dòng duy nhất, sẽ yêu cầu chúng ta sử dụng bộ đếm và gia tăng nó:Đoạn mã này mở một đối tượng tệp có tài liệu tham khảo được lưu trữ trong 3, sau đó đọc trong một dòng một tại một thời điểm bằng cách gọi 3 trên đối tượng tệp đó lặp lại trong vòng lặp 5. Sau đó, nó chỉ đơn giản là in dòng vào bảng điều khiển.
Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó! Kết quả này trong:
Bây giờ, mặc dù tốt hơn nhiều, chúng tôi thậm chí không cần gọi phương thức 4 để đạt được chức năng tương tự này. Đây là cách truyền thống để đọc từng dòng tệp, nhưng có một cách hiện đại hơn, ngắn hơn.Đọc từng dòng tệp với một vòng lặp-cách tiếp cận pythonic nhấtBản thân 1 đã trở lại là một điều không thể. Chúng ta không cần phải trích xuất các dòng thông qua 4 - chúng ta có thể lặp lại chính đối tượng được trả về. Điều này cũng giúp bạn dễ dàng 9 để chúng tôi có thể viết số dòng trong mỗi câu lệnh 4.Đây là cách tiếp cận ngắn nhất, pythonic nhất để giải quyết vấn đề và cách tiếp cận được yêu thích bởi hầu hết:
Kết quả này trong:
Bây giờ, mặc dù tốt hơn nhiều, chúng tôi thậm chí không cần gọi phương thức 4 để đạt được chức năng tương tự này. Đây là cách truyền thống để đọc từng dòng tệp, nhưng có một cách hiện đại hơn, ngắn hơn.
Đây là cách tiếp cận ngắn nhất, pythonic nhất để giải quyết vấn đề và cách tiếp cận được yêu thích bởi hầu hết:Ở đây, chúng tôi đang tận dụng các chức năng tích hợp của Python cho phép chúng tôi dễ dàng lặp lại một đối tượng có thể lặp lại, chỉ đơn giản là sử dụng vòng lặp 5. Nếu bạn muốn đọc thêm về các chức năng tích hợp của Python trên các đối tượng lặp, chúng tôi đã bảo vệ bạn: 0Python's itertools - Count (), chu kỳ () và chuỗi () Python's itertools: Filter (), islice (), map () và zip () Ứng dụng đọc các tệp từng dòng 1Kết quả này trong: 2Làm thế nào bạn có thể sử dụng điều này thực tế? Hầu hết các ứng dụng NLP liên quan đến tập dữ liệu lớn. Hầu hết thời gian, sẽ không khôn ngoan khi đọc toàn bộ tập đoàn vào bộ nhớ. Mặc dù thô sơ, bạn có thể viết một giải pháp từ đầu tiên để đếm tần số của một số từ nhất định mà không cần sử dụng bất kỳ thư viện bên ngoài nào. Hãy viết một tập lệnh đơn giản tải trong một tệp, đọc từng dòng và đếm tần số của các từ, in 10 từ thường xuyên nhất và số lần xuất hiện của chúng:Kịch bản sử dụng mô -đun 6 để đảm bảo rằng tệp chúng tôi đang cố gắng đọc thực sự tồn tại. Nếu vậy, từng dòng đọc của nó và mỗi dòng được chuyển vào hàm 7. Nó phân định các không gian giữa các từ và thêm từ vào từ điển - 8. Khi tất cả các dòng được ghi vào từ điển, chúng tôi đặt hàng qua 9 trả về danh sách các bộ dữ liệu ở định dạng 0, được sắp xếp theo số từ.
Phương pháp nào được sử dụng để đọc từng dòng trong từng dòng trong Python?Phương thức Python Readline () Phương thức read () Phương thức trả về một dòng từ tệp.Bạn cũng có thể chỉ định số lượng byte từ dòng để trả về, bằng cách sử dụng tham số kích thước.readline() Method
The readline() method returns one line from the file. You can also specified how many bytes from the line to return, by using the size parameter.
Python có đọc từng dòng không?Python đọc dòng tệp từng dòng trong Python, bạn có thể đọc tất cả các dòng trong một tệp bằng các phương thức khác nhau.Chúng bao gồm các trình điều chỉnh (), readline () và người quản lý bối cảnh.Bạn có thể đọc tất cả các văn bản trong các tệp sau khi mở chúng và thực hiện các hoạt động khác.you can read all the lines in a file using different methods. These include readlines (), readline () and context managers. You can read all the text in the files after opening them and perform other operations.
Hàm nào đọc văn bản từ từng dòng từng dòng?BufferedReader readline () Phương thức để đọc dòng tệp theo dòng đến chuỗi.Phương thức này trả về NULL khi đạt được kết thúc của tệp.Dưới đây là một chương trình đơn giản hiển thị ví dụ cho Java đọc dòng tệp từng dòng bằng cách sử dụng BufferedReader. method to read file line by line to String. This method returns null when end of file is reached. Below is a simple program showing example for java read file line by line using BufferedReader. |