我有一个已被 gzip 压缩的大型制表符分隔文件,我想知道它有多少列。对于小文件,我可以解压并读入 python,对于大文件,这很慢。有没有办法在不将文件加载到 python 的情况下快速计算列数?

Effeciently counting number of columns of text file 几乎相同,但由于我的文件是 gzip 压缩的,因此仅读取第一行是行不通的。有没有办法让python有效地解压到足以阅读第一行?

最佳答案



是的,它会的。

import csv
import gzip

with gzip.open('file.tsv.gz', 'rt') as gzf:
    reader = csv.reader(gzf, dialect=csv.excel_tab)
    print(len(next(reader)))

关于python - 在不加载的情况下计算 gzip 压缩的 tsv 的列数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46356071/

10-15 12:14