如何从.7z存档中读取包含大量数据的csv文件?

时间:2019-01-16 11:14:03

标签: python-3.x libarchive

我有一个包含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'))

以下是单个输出块的粘贴框:

https://pastebin.com/7agwAAds

请注意最后一行的剪裁。

对于从存档的巨大csv文件中读取全部行和大块行的任何帮助,我将不胜感激。

0 个答案:

没有答案