【发布时间】:2018-08-01 03:01:44
【问题描述】:
我正在尝试解析一个 gzip 压缩的 csv 文件(其中字段由 | 字符分隔),以测试在解析内容时直接在 Python 中读取文件是否比 zcat file.gz | python 更快。
我有以下代码:
#!/usr/bin/python3
import gzip
if __name__ == "__main__":
total=0
count=0
f=gzip.open('SmallData.DAT.gz', 'r')
for line in f.readlines():
split_line = line.split('|')
total += int(split_line[52])
count += 1
print(count, " :: ", total)
但我收到以下错误:
$ ./PyZip.py
Traceback (most recent call last):
File "./PyZip.py", line 11, in <module>
split_line = line.split('|')
TypeError: a bytes-like object is required, not 'str'
如何修改它以读取该行并正确拆分它?
我主要对由 | 分隔的第 52 个字段感兴趣。我的输入文件中的行如下:
field1|field2|field3|...field52|field53
有没有比我对第 52 个字段中的所有值求和更快的方法?
谢谢!
【问题讨论】: