Как прочитать CSV-файл с огромными данными из архива .7z? - PullRequest
0 голосов
/ 16 января 2019

У меня есть CSV-файл, содержащий 162 ГБ данных, которые мне пришлось сжать с помощью 7-zip для экономии места. Я использовал libarchive для чтения из файлов .7z и добавления прочитанных блоков, чтобы получить окончательный результат в конце. Но проблема с этим файлом в том, что он настолько велик, что я не могу добавить его к созданию единственной строки или фрейма данных, поскольку моя основная память ограничена 8 ГБ. Кроме того, я не могу выполнять никаких операций с каждым блоком, поскольку считанные блоки являются инцидентными каждый раз, когда последняя строка отсекает некоторые столбцы.

Ниже приведен фрагмент, который я использую для чтения файла CSV:

import libarchive

with libarchive.file_reader(r'D:\Features\four_grams.7z') as e:
    for entry in e:
        for b in entry.get_blocks():
            print(b.decode('utf-8'))

Ниже приведена вставка одного блока вывода:

https://pastebin.com/7agwAAds

Обратите внимание на отсечение в последнем ряду.

Буду признателен за помощь в чтении полных и фрагментов строк из огромного файла CSV, который заархивирован.

...