【发布时间】:2013-11-14 23:11:10
【问题描述】:
我正在运行一个创建工作簿的脚本,将一些数据写入其中然后保存。
在我的脚本结束时,我有:
workbook.SaveAs('tempfile.xlsx')
但是发生的事情是它一直保存到一些不起眼的目录,今天早些时候我从一个共享点站点下载了一个 excel 文件。所以我尝试了:
import os
os.chdir('C:/mydir')
然后我运行脚本,它仍然保存到不起眼的目录中。我在 IDLE 提示符中输入 os.getcwd() 并返回 'C:/mydir.'
无法弄清楚如何正确获得此保存。当我尝试时:
workbook.SaveAs('C:/mydir/tempfile.xlsx')
我收到一个错误:
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'Microsoft Office Excel', "Microsoft Office Excel cannot access the file 'C:\\weird dir\\//mydir/FC424E40'. There are several possible reasons:\n\n• The file name or path does not exist.\n• The file is being used by another program.\n• The workbook you are trying to save has the same name as a currently open workbook.", 'C:\\Program Files (x86)\\Microsoft Office\\Office12\\1033\\XLMAIN11.CHM', 0, -2146827284), None)
我知道这可能是一个简单的修复,但我无法弄清楚。有什么想法吗?
【问题讨论】:
-
你试过
workbook.SaveAs(r'C:\mydir\tempfile.xlsx')吗?也许反斜杠会有所帮助...... -
@rodrigo 反斜杠似乎确实有效。谢谢! 'r' 在目录之前有什么作用?没有它,我的代码似乎也能正常工作。
-
@user2941919 反斜杠用于转义 Python 字符串中的某些字符...例如,
\t是制表符,\n是新行...当纯粹将反斜杠用于反斜杠时,然后你使用r作为前缀来表示不应该发生的行为