Легко ли читать строку из сжатого gz текстового файла с использованием python без полного извлечения файла? У меня есть файл text.gz, который составляет 200 мб. Когда я извлекаю его, он становится 7.4gb. И это не единственный файл, который я должен прочитать. Для всего процесса я должен прочитать 10 файлов. Хотя это будет последовательная работа, я думаю, что это будет разумная вещь, чтобы не делать этого, не раскрывая всю информацию. Я даже не знаю, что это возможно. Как это можно сделать с помощью python? Мне нужно прочитать текстовый файл по очереди.python: чтение строк из сжатых текстовых файлов
32
A
ответ
12
Вы пытались использовать gzip.GzipFile? Аргументы аналогичны open
.
38
Вы можете использовать стандартный модуль gzip в python. Просто используйте:
gzip.open('myfile.gz')
, чтобы открыть файл как и любой другой файл и его строки.
Более подробная информация здесь: Python gzip module
22
Использование gzip.GzipFile:
import gzip
with gzip.open('input.gz','r') as f:
for line in f:
print('got line', line)
Примечание : для Python3 вы должны указать файл, который будет открыт в 'rt'
как 'r'
по умолчанию для бинарного чтения или в противном случае используйте line.decode(...)
.
Примечание : gzip.open(filename, mode)
- это псевдоним для gzip.GzipFile(filename, mode)
. Я предпочитаю первый, так как он похож на with open(...) as f:
, используемый для открытия несжатых файлов.
Смежные вопросы
- 1. Чтение строк из текстовых файлов в java
- 2. Чтение определенных строк из текстовых файлов
- 3. Чтение из текстовых файлов
- 4. Чтение из сжатых файлов в Dataflow
- 5. Python Чтение больших текстовых файлов
- 6. Чтение текстовых файлов в python
- 7. Чтение строк из ОГРОМНЫХ текстовых файлов по группам из 4
- 8. Чтение чисел из текстовых файлов
- 9. Чтение данных из текстовых файлов
- 10. Python чтение текстовых файлов для вычисления
- 11. Python: Чтение сложных текстовых файлов с numpy
- 12. Чтение/запись текстовых файлов в Python
- 13. Чтение нескольких текстовых файлов
- 14. Чтение соответствующих строк из нескольких текстовых файлов, которые будут объединены
- 15. Строковое чтение текстовых файлов на python 3.4
- 16. Spark - чтение сжатых файлов без расширения файла
- 17. SAS- Чтение нескольких сжатых файлов данных
- 18. Чтение текстовых файлов
- 19. C чтение текстовых файлов
- 20. Python текстовых файлов в список строк
- 21. Сравнение строк двух текстовых файлов в python
- 22. Python-Чтение из нескольких текстовых файлов в словарь
- 23. Чтение потока данных в облаке Google из сжатых файлов
- 24. Чтение данных из нескольких текстовых файлов
- 25. Чтение текстовых файлов из командной строки
- 26. Чтение из текстовых файлов и команд выпуска
- 27. Чтение текстовых файлов из локального каталога
- 28. Чтение датских символов из текстовых файлов
- 29. Чтение содержимого из нескольких текстовых файлов
- 30. Чтение номеров из текстовых файлов онлайн
Из любопытства загружает весь файл в память? Или он достаточно умен, чтобы загружать строки по мере необходимости? –
@Sachin_ruk это не загружает файл, который он просто открывает. Чтобы действительно загружать данные из файла, вам нужно '' 'f.readline()' 'читать строку за раз. Или '' f.readlines (N) '' где '' N '' - количество строк, которые вы хотите прочитать. – Tom