我有一个 .py 进程,而不是打开现有的 .xlsb 文件、读取现有数据、进行所需的分析并将结果写入同一个 .xlsb 上的各种工作表。这非常有效,但是我看不到如何添加代码以在 .py 末尾自动保存和关闭 .xlsb。我当前的解决方案是在 .py 完成后在 Excel 中手动使用文件/保存/关闭来执行此操作。
我使用 open_xlsb 和相当完善的代码来访问和读取现有的 xlsb 数据,摘录:
xlsbfilename = "full path to Myfile.xlsb"
with open_xlsb(xlsbfilename) as wb:
with wb.get_sheet(xlsheet) as sheet:
for row in sheet.rows():
# do stuff #
问题是这个有用的功能似乎没有保存和/或关闭功能,有没有办法?我可以使用其他 Excel/python 工具处理数据,例如,我可以使用数据帧、numpy 和原始 .xlsb 数据,但每当我尝试将任何 Save 或 SaveAs 与 xlwings 或 pandas 等工具一起使用时,我都会收到错误消息建议“不适用于我的文件类型”,摘录如下:
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'Microsoft Excel', '此扩展名不能用于所选文件类型。在文件名文本框中更改文件扩展名或选择其他文件通过更改另存为类型来键入。','xlmain11.chm',0,-2146827284),无)
当我更改相同的代码以使用测试 .xls 而不是 .xlsb 时,该代码将起作用 - 只是使用 .xlsb 失败。显而易见的回答是 - “只需更改文件扩展名”,但这不是这里的要求。我正在寻找可以添加到 .py 以保存并关闭打开的 .xlsb 文件的任何形式的代码。这似乎是一个简单的要求,也许我错过了一些简单的东西,并且很高兴得知是这种情况?