with open分块代码如下:
with open(res.FILE_PATH['06'], 'r', encoding="gb18030", errors="ignore") as file:
csv.field_size_limit(500 * 1024 * 1024)
data = pd.DataFrame(csv.reader(file.readlines(500*1024*300), delimiter="\t"))
#13.57667350769043
读取不到50W条数据用时13.6秒,略慢。
于是我改用pandas的read_csv()方法的分块处理:
data=pd.read_csv(res.FILE_PATH['06'],sep="\t",encoding="gb18030",chunksize=500*1024)
for chunk in data:
print(chunk)
#10.774301290512085
分块出我想要的数据仅用了不到11秒,读取了51W条数据,效果较好。