我有一个包含 162 GB 数据的 csv 文件,我必须使用 7-zip 对其进行压缩以节省空间。我一直在使用 libarchive 从 .7z 文件中读取并附加读取的块以在最后获得最终结果。但这个文件的问题是,它太大了,我无法将它附加到创建单个字符串或数据帧,因为我的主内存限制为 8 GB。此外,我无法对每个块执行任何操作,因为每次最后一行剪掉一些列时,读取的块都是不一致的。
以下是我用来读取 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'))
以下是单个输出块的 pastebin:
注意最后一行的剪裁。
我将不胜感激从存档的巨大 csv 文件中读取完整行和大块行的任何帮助。