Có dễ đọc một dòng từ tệp văn bản được nén gz bằng python mà không giải nén tệp hoàn toàn không? Tôi có một tập tin text.gz đó là aroud 200mb. Khi tôi giải nén nó, nó sẽ trở thành 7.4gb. Và đây không phải là tập tin duy nhất tôi phải đọc. Đối với toàn bộ quá trình, tôi phải đọc 10 tập tin. Mặc dù đây sẽ là một công việc tuần tự, tôi nghĩ rằng nó sẽ là một điều thông minh để làm điều đó mà không cần trục xuất toàn bộ thông tin. Tôi thậm chí không biết rằng điều đó là có thể. Làm thế nào nó có thể được thực hiện bằng cách sử dụng python? Tôi cần đọc một tập tin văn bản theo từng dòng.python: đọc các dòng từ các tệp văn bản được nén
32
A
Trả lời
12
Bạn đã thử sử dụng gzip.GzipFile? Đối số tương tự với open
.
38
Bạn có thể sử dụng mô-đun gzip chuẩn trong python. Chỉ cần sử dụng:
gzip.open('myfile.gz')
để mở tệp dưới dạng bất kỳ tệp nào khác và đọc dòng của tệp.
biết thêm thông tin ở đây: Python gzip module
22
Sử dụng gzip.GzipFile:
import gzip
with gzip.open('input.gz','r') as f:
for line in f:
print('got line', line)
Note : cho python3 bạn đã xác định tập tin sẽ được mở trong 'rt'
, như 'r'
mặc định để đọc nhị phân, hoặc nếu không hãy sử dụng line.decode(...)
.
Lưu ý : gzip.open(filename, mode)
là bí danh cho gzip.GzipFile(filename, mode)
. Tôi thích cái cũ hơn, vì nó trông giống như with open(...) as f:
được sử dụng để mở các tập tin không nén.
Các vấn đề liên quan
- 1. Đọc dòng tệp văn bản được nén lớn theo dòng trong python
- 2. Ký tự cuối dòng từ dòng được đọc từ tệp văn bản, sử dụng Python
- 3. python - Đọc tệp từ và tới các dòng văn bản cụ thể
- 4. Đọc từ một tệp văn bản và phân tích các dòng thành các từ trong C
- 5. Đọc các tệp văn bản lớn có dòng trong C#
- 6. Đọc các dòng từ một tệp văn bản nhưng bỏ qua hai dòng đầu tiên
- 7. Cách đọc các dòng từ tệp mmap trong python?
- 8. Đọc hai dòng văn bản theo dòng đồng thời -python
- 9. Python: đọc tất cả các dòng tệp văn bản trong vòng
- 10. Java: Đọc dòng lệnh mới từ một tệp văn bản
- 11. Làm cách nào để đọc trong các dòng từ một tệp văn bản trong OCaml?
- 12. Đọc dòng từ tệp văn bản và đặt các chuỗi vào một vectơ?
- 13. Kiểm tra dòng cho các ký tự không in được trong khi đọc tệp văn bản
- 14. Python đọc tệp văn bản từ dòng thứ hai đến fifteenth
- 15. đọc tệp văn bản trong dòng R theo dòng
- 16. Đọc trong dòng tệp văn bản theo dòng php - dòng mới không được phát hiện
- 17. Đọc nhiều số từ một tệp văn bản
- 18. PHP được đọc từ tệp văn bản đã tải lên?
- 19. Có thể tăng cường iostreams đọc và nén các tệp được nén trên máy bay không?
- 20. Đọc dòng đầu tiên của tệp văn bản rồi chuyển các dòng sau vào vòng lặp để đọc
- 21. python tập đọc văn bản
- 22. Đọc tệp văn bản thành các biến có javascript
- 23. Trích xuất URL từ các tệp văn bản/HTML lớn
- 24. Python - đọc các dòng đơn giản từ một đường ống
- 25. Viết và đọc các tệp văn bản trên iPhone
- 26. Phân tích tệp văn bản lớn (20GB) bằng python - đọc theo 2 dòng là 1
- 27. Bỏ qua vài dòng đầu tiên trong khi đọc các dòng trong tệp Python
- 28. Python: Đọc số lượng lớn các dòng từ stdin
- 29. Đọc các ký tự không phải ASCII từ một tệp văn bản
- 30. Tìm kiếm tệp văn bản và in các dòng liên quan bằng Python?
hết mức độ tò mò để tải toàn bộ tệp này vào bộ nhớ? Hoặc là nó đủ thông minh để tải dòng khi cần thiết? –
@Sachin_ruk điều này không tải tập tin nó chỉ cần mở nó. Để thực sự tải dữ liệu từ tập tin bạn cần làm '' 'f.readline()' 'để đọc dòng tại một thời điểm. Hoặc '' f.readlines (N) '' trong đó '' N'' là số dòng bạn muốn đọc. – Tom