熊猫 - 快速读取/写入相同的csv ..获取权限错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了熊猫 - 快速读取/写入相同的csv ..获取权限错误相关的知识,希望对你有一定的参考价值。
我有一个脚本,我试图每2秒执行..开始它与.csv
读取pd.read_csv
。然后对df执行修改,最后用.csv
覆盖原始的to_csv
。
我遇到了PermissionError: [Errno 13] Permission denied:
,从我的搜索开始,我认为这是因为我试图打开/写入同一个文件,尽管我可能是错的。
- 任何建议如何避免这种情况?
- 不确定是否相关但文件存储在单驱动器文件夹中。
- 它偶尔会保存,看似随机。
- 增加超时以使脚本执行得更慢有帮助,但我希望它运行得更快!
谢谢
答案
由于您没有共享确切的代码,我们只能假设您存储数据帧如下:
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
另一答案
关闭您尝试读取和写入的文件,然后尝试运行脚本。希望能帮助到你
以上是关于熊猫 - 快速读取/写入相同的csv ..获取权限错误的主要内容,如果未能解决你的问题,请参考以下文章
使用存储过程从 sql server 快速读取百万条记录,并使用 java 和 spring boot 将其写入 csv