【发布时间】:2021-06-07 09:20:01
【问题描述】:
我有一个脚本可以将近 800,000 行写入各种 CSV 文件。
for col in data:
with open('output/{}.csv'.format(col), mode, encoding='utf-8', newline='') as f:
writer = csv.writer(f, lineterminator = '\n')
if mode == 'w':
writer.writerow(headers)
for row in data[col]:
writer.writerow(row)
在现代机器上,这似乎可以正常工作并写入所有行。
但是,在较旧的机器上(使用机械硬盘),总共缺少大约 35% 到 40% 的行。
这是机器列表,以及写入的总行数(共 815143 行):
- Macbook pro osx 10.15(16gb ram, SSD) - 815143
- Windows 10(32gb 内存,NVme)- 815143
- Windows 10(4GB 内存,硬盘)- 543737
- Windows 10(4GB 内存,硬盘)- 501335
是不是我做错了什么导致了这种情况?
还是要考虑写入失败?当使用csv.write?
【问题讨论】:
-
如果 Python 没有引发任何异常,那么我建议运行适用于 Windows 10 的任何磁盘检查实用程序。
-
这不太可能与您的磁盘有关,更有可能是您的会计(您如何计算行数?)或您的输入数据(可能并不总是相同)!
-
@ti7 我正在使用
wc -l output/*(这包含所有的csv文件)我认为wc是准确的
标签: python python-3.x csv export-to-csv disk