我有一个500MB的gz文件,我把它拆分如下
split -b 100m "file.gz" "file1.gz.part-"
分割后获得以下文件
file1.gz.part-aa
file1.gz.part-ab
file1.gz.part-ac
file1.gz.part-ad
file1.gz.part-ae
我正在尝试使用gzip在gzip文件中迭代对象,如下所示
with gzip.open(filename) as f:
for line in f:
这适用于file1.gz.part-aa
,但我正在接受其他4个部分
不是gzip压缩文件
答案 0 :(得分:1)
gzip文件有一个标题,用于将其标识为gzip文件。拆分后,只有第一个文件将具有此标头。在处理之前重新加入文件。
答案 1 :(得分:1)
您可以split
之前gzip
:
split -l 300000 "file.txt" "tweets1.part-"
^ every 300000 lines
请注意,split
的输入是 NOT 一个*.gz
文件,但是原始的面向行的文件。
然后gzip
每个部分分开:
gzip tweets1.part-*
这也将删除部分(gzip
选项以保留它们。)
在python中,您现在可以单独使用每个部分。