python - Python Pandas 无法覆盖 csv 文件“OSError: [Errno 22] Invalid argument”
问题描述
我找到了许多与 Errno 22 相关的答案,但没有特定于熊猫的答案,也没有任何仅在覆盖时而不是在写入时(初始写入成功)的答案。
因此,我设法使用以下 python 脚本重新创建了该错误:
import pandas as pd
print('path:')
path = input()
data = pd.DataFrame(data=[1,2,3], columns=['index'])
data.to_csv(path, encoding='utf-8', index=False)
data = data.append(pd.DataFrame(data=[4,5,6], columns=['index']))
data.to_csv(path, encoding='utf-8', index=False)
所以第一次调用 to_csv 会写入以下文件
index
1
2
3
但对 to_csv 的第二次调用会导致错误:
OSError: [Errno 22] Invalid argument: '[path omitted]/python/bug'
任何帮助深表感谢 :)
解决方案
我找到的解决方案是使用 os.remove(path):
import pandas as pd
import os
print('path:')
path = input()
data = pd.DataFrame(data=[1,2,3], columns=['index'])
data.to_csv(path, encoding='utf-8', index=False)
if(os.path.exists(path)):
os.remove(path)
data = data.append(pd.DataFrame(data=[4,5,6], columns=['index']))
data.to_csv(path, encoding='utf-8', index=False)
可惜 to_csv 没有覆盖模式
推荐阅读
- javascript - 在 onclick javascript 效果之后,我可以在 css 中定位一个 :hover 函数吗?
- c# - 获取数组中的最高数字,然后在该数组中添加一个新值并使用前面的 +1 不起作用 - C#
- sql - 将 2 个单独列的总和与 SQL 语句进行比较
- python - matplotlib 中的多行动画
- python - 无法从python中的函数成功获取返回
- optaplanner - 为什么在调用 calculateScore 之前没有设置我的 PlanningVariables?
- python - DISCORD PY Bot 没有响应命令,没有回溯错误
- javascript - 如何获取在 Chrome 标签中播放的音频名称
- javascript - 在 div 外部单击应该为 div 添加抖动效果;点击里面不应该有任何变化
- discord.py - 将排行榜分为页面 discord.py