You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas保存csv时文件名追加日期时间出现OSError Errno 22如何解决

报错原因

该错误是因为Windows、macOS等主流操作系统的文件名规则禁止包含:特殊字符,你通过strftime生成的时间字符串中自带:分隔符,拼接为文件名后不符合系统规则,因此触发非法参数报错。

可行解决方法

  • 替换时间格式中的冒号为合法分隔符,比如横杠、下划线、点号均可,是兼容性最高的解决方案。示例修改后的代码如下:
currentDateTime = datetime.now().strftime("%m-%d-%Y %H-%M-%S %p")
df.to_csv(f"filename {currentDateTime}.csv", index = False)

修改后生成的文件名格式为filename 09-30-2021 16-45-17 PM.csv,完全符合所有系统的文件名规则。

  • 若不需要精确到秒,可直接简化时间格式省略秒的部分,同步去掉冒号即可:
currentDateTime = datetime.now().strftime("%m-%d-%Y %H-%M %p")
df.to_csv(f"filename {currentDateTime}.csv", index = False)

补充注意:除冒号外,/ \ < > * ? " |也属于文件名禁止使用的特殊字符,动态生成文件名时需要注意规避。

内容的提问来源于stack exchange,提问作者DDM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 14:36:02