xlwings无法打开具有不明确内容的工作簿

2024-09-30 10:42:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将几个pandas数据帧写入现有的excel工作簿。我选择xlwings是因为它成功地保存了工作簿中的公式。这段代码工作了大约两天,然后出现了一个模棱两可的错误。知道这段代码为什么失败吗?在

def write_packaged_outputs(packaged_outputs):
    print("Writing to template")

    template_file = './SlotVizTemplate.xlsx'
    output_file = './SlotVizOutput.xlsx'

    workbook = xlwings.Book(template_file)

    for packaged_output in packaged_outputs:
        df = packaged_output['dataframe']
        sheet_name = packaged_output['sheet_name']
        cell = packaged_output['cell']

        worksheet = workbook.sheets[sheet_name]
        worksheet.range(cell).options(index=False, header=False).value = df

    workbook.save(output_file)
    xlwings.apps[0].quit()

代码似乎在工作簿分配时失败:

^{pr2}$

错误如下:

    Traceback (most recent call last):
  File "C:\Users\philector\Documents\Development\Python\SlotViz\SlotVizTool_v1.py", line 214, in <module>
    write_packaged_outputs(packaged_outputs)
  File "C:\Users\philector\Documents\Development\Python\SlotViz\SlotVizTool_v1.py", line 160, in write_packaged_outputs
    workbook = xlwings.Book(template_file)
  File "C:\Users\philector\AppData\Local\Programs\Python\Python36-32\lib\site-packages\xlwings\main.py", line 479, in __init__
    app = App(add_book=False)
  File "C:\Users\philector\AppData\Local\Programs\Python\Python36-32\lib\site-packages\xlwings\main.py", line 204, in __init__
    self.impl = xlplatform.App(spec=spec, add_book=add_book)
  File "C:\Users\philector\AppData\Local\Programs\Python\Python36-32\lib\site-packages\xlwings\_xlwindows.py", line 288, in __init__
    self._xl = COMRetryObjectWrapper(DispatchEx('Excel.Application'))
  File "C:\Users\philector\AppData\Local\Programs\Python\Python36-32\lib\site-packages\win32com\client\__init__.py", line 113, in DispatchEx
    dispatch = pythoncom.CoCreateInstanceEx(clsid, None, clsctx, serverInfo, (pythoncom.IID_IDispatch,))[0]
pywintypes.com_error: (-2147024703, 'OLE error 0x800700c1', None, None)
    enter code here

我想弄清楚错误代码是什么,然后想到了这个:

enter image description here

我只是不确定这个错误意味着什么,或者我需要做些什么来修正它。在

更新

启动一个带有pypiwin32模块的Excel实例也失败了,所以我想如果能修复它,我会重新安装到。没有。我们得到了一个与xlwings相似的错误消息。在

import win32com.client

win32com.client.Dispatch('Excel.Application')

更新2

我想我发现了问题。我有一台64位的机器,出于某种原因,我工作的公司安装了32位版本的Office 2016。在


Tags: inpyoutput错误linetemplatexlwingsoutputs

热门问题