我正在处理较大的文本文件(10 MB gzip)。总是有 2 个文件属于一起,长度和结构都相同:每个数据集 4 行。
我需要同时处理两个文件中每个 4 块中第 2 行的数据。
我的问题:最省时的方法是什么?
现在我正在这样做:
def read_groupwise(iterable, n, fillvalue=None):
args = [iter(iterable)] * n
return itertools.izip_longest(fillvalue=fillvalue, *args)
f1 = gzip.open(file1,"r")
f2 = gzip.open(file2,"r")
for (fline1,fline2,fline3,fline4), (rline1, rline2, rline3, rline4) in zip(read_groupwise(f1, 4), read_groupwise(f2, 4)):
# process fline2, rline2
但由于我只需要每个 line2,我猜可能有更有效的方法来做到这一点?