熊猫 - 快速读取/写入相同的csv ..获取权限错误

问题描述 投票:0回答:2

我有一个脚本,我试图每2秒执行..开始它与.csv读取pd.read_csv。然后对df执行修改,最后用.csv覆盖原始的to_csv

我遇到了PermissionError: [Errno 13] Permission denied:,从我的搜索开始,我认为这是因为我试图打开/写入同一个文件,尽管我可能是错的。

  • 任何建议如何避免这种情况?
  • 不确定是否相关但文件存储在单驱动器文件夹中。
  • 它偶尔会保存,看似随机。
  • 增加超时以使脚本执行得更慢有帮助,但我希望它运行得更快!

谢谢

python pandas csv io
2个回答
2
投票

由于您没有共享确切的代码,我们只能假设您存储数据帧如下:

df.to_csv("myfile.csv", sep = ",", index = False)    # Drop to csv w/o context manager

在这种情况下,您遇到的行为是由于文件没有正确关闭。这是一个常见的错误。我建议使用with-statement,其主要用途是对内部使用的对象(在本例中为.csv)进行异常安全清理。换句话说,with确保文件关闭,锁定释放,上下文恢复等。

with open("myfile.csv", "w") as reference:           # Drop to csv w/ context manager
     df.to_csv(reference, sep = ",", index = False)
# As soon as you are here, reference is closed

-1
投票

关闭您尝试读取和写入的文件,然后尝试运行脚本。希望能帮助到你

© www.soinside.com 2019 - 2024. All rights reserved.