gpt4 book ai didi

python - Openpyxl - 命名工作簿时遇到问题

转载 作者:行者123 更新时间:2023-12-01 04:43:07 26 4
gpt4 key购买 nike

我有一个 python 脚本,可以分析文件树并将其结果记录在 xlsx 中。

分析进展顺利,但当我尝试记录结果时,出现错误:

Traceback (most recent call last):
File ".\call_validation.py", line 103, in <module>
wb.save(wb_name)
File "C:\Python\lib\site-packages\openpyxl\workbook\workbook.py", line 298, i
save_workbook(self, filename)
File "C:\Python\lib\site-packages\openpyxl\writer\excel.py", line 196, in sav
writer.save(filename, as_template=as_template)
File "C:\Python\lib\site-packages\openpyxl\writer\excel.py", line 178, in sav
archive = ZipFile(filename, 'w', ZIP_DEFLATED)
File "C:\Python\lib\zipfile.py", line 923, in __init__
self.fp = io.open(file, modeDict[mode])
OSError: [Errno 22] Invalid argument: 'move_generated-2015-05-07 10:08:26.xlsx'

我使用 datetime.datetime.now() 生成文件名,如下所示:

save_time = str(datetime.datetime.now()).split(".")[0]
wb_name = "move_generated-" + save_time + ".xlsx"
wb.save(wb_name)

我不认为文件名太长,它仅位于 C:\code\call_flow 中,并且我已尝试从名称中删除所有非字母数字字符。有什么想法吗?

编辑:解决方案最终是我未能从时间中去除冒号。正如 @nivix zixer 所说,我通过替换来修复它

save_time = str(datetime.datetime.now()).split(".")[0]

save_time = str(datetime.datetime.now()).split(".")[0].replace(':', '_')

最佳答案

也许问题是你的文件名中有空格?

str(datetime.datetime.now()).split(".")[0] 替换为:str(datetime.datetime.now()).split( ".")[0].replace(' ', '_').

很高兴我能帮助威尔!

关于python - Openpyxl - 命名工作簿时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30107748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com