Рекомендация для Python для чтения файла .csv.gz 100 ГБ - PullRequest
0 голосов
/ 10 мая 2019

У меня есть файл .csv.gz размером 100 ГБ в удаленном Linux.Я определенно не хочу разархивировать его, потому что размер достигнет 1T.

Я ищу в Интернете для чтения файлов.Я увидел здесь предложение

python: читать строки из сжатых текстовых файлов

gzip?панды?итератор?

Мой наставник предложил разархивировать данные после распаковки.

Мне также нужно было бы рассмотреть память.Так что readlines () определенно не мое рассмотрение.

Интересно, найдется ли у кого-нибудь оптимальное решение для этого, потому что файл действительно большой, и мне понадобится много времени, чтобы просто что-нибудь сделать.

Ответы [ 2 ]

0 голосов
/ 10 мая 2019

читать строки по очереди, выполнив:

import sys

for line in sys.stdin:
    do_sth_with_the_line(line)

Вы вызываете этот скрипт на Python с помощью:

zcat | python_script.py

0 голосов
/ 10 мая 2019

Вы можете передать файл кусками в ваш питон и построчно обработать его как for line in sys.stdin: ...:

zcat 100GB.csv.gz | python <my-app>
...