Python 3.3,Excel文件未保存到当前工作目录

时间:2013-11-14 23:11:11

标签: python excel save-as

我正在运行一个创建工作簿的脚本,将一些数据写入其中然后保存它。

在我的剧本结尾处,我有:

workbook.SaveAs('tempfile.xlsx')

但正在发生的事情是它一直保存到一些不起眼的目录,今天早些时候我从sharepoint站点下载了一个excel文件。所以我试过了:

import os
os.chdir('C:/mydir')

然后我运行脚本,它仍然保存到模糊目录。我输入os.getcwd()进入IDLE提示符,然后返回'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)

我知道这可能是一个简单的修复,但我无法弄清楚。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果您正在使用pywintypes(或pywin32),那么您将了解Excel如何理解您在其COM API上调用的命令。这绝不会链接到python执行的当前目录。如果没有当前目录,Excel将选择一个(使用自己的“最小惊喜规则”...),它似乎是您打开Excel文件的最后一个目录。正如罗德里戈所说,你最好用完整的路径告诉Excel在哪里保存。