我有一个包含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'))
以下是单个输出块的粘贴框:
请注意最后一行的剪裁。
对于从存档的巨大csv文件中读取全部行和大块行的任何帮助,我将不胜感激。