首页 > 解决方案 > Pandas 可以同时写入同一个 CSV 文件吗?

问题描述

我错误地同时运行了两个脚本,将 pandas 数据帧分块写入同一个 CSV 文件。由于应该附加 CSV 文件,因此脚本本身不会阻止写入 CSV 文件(如果它已经存在)。直到为时已晚,我才抓住它。

有点像这样:

脚本1.py

for i, chunk in enumerate(datachunks):
       do something
       result_df.to_csv('csvfile.csv') (in write mode for the 1st chunk, append mode for the next chunks)

脚本2.py

for i, chunk in enumerate(datachunks2):
       do something
       result_df.to_csv('csvfile.csv') (in write mode for the 1st chunk, append mode for the next chunks)
       # should have been csvfile2.csv

由于必须处理大量数据,每个脚本需要大约 12 小时才能执行,我认为将 CSV 文件分成两个更快,这样我就可以获得每个脚本应该给出的输出。这应该可以工作——除非我在文件中有意外的重复,甚至没有写的行。

如果相关的话,两个脚本都完成了,没有任何错误。

任何重复/丢失数据的机会csvfile.csv

标签: pythonpandas

解决方案


我决定重新运行脚本并比较输出。似乎没有希望 - 我丢失了很多行。


推荐阅读