У меня есть 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, который заархивирован.