首页 文章

连接到现有工作簿会在xlwings中引发错误

提问于
浏览
0

当我尝试连接到 existing 工作簿并验证连接是否正常工作时,如下所示:

import xlwings as xw

wb = xw.Workbook('/users/edchigliak/sites/xlwings/htz/google/sem_google_realizacija_2016.xlsm')

print(wb.sheet(1).name)

Mac OSX Yosemite终端抛出 error

OSERROR:-1728消息:您尝试访问的对象不存在COMMAND:app(u'/ Applications / MicrosoftExcel.app') . workbooks ['sem_google_realizacija_2016.xlsm'] . name.get()

工作簿 does get opened ,它提示您启用宏和数据连接的权限,因此一切都很顺利 . 在我看来好像我试图在MicrosoftExcel.app而不是xlwings库上调用.name()方法(或属性?)?

What I ultimately wish to do (to go through the whole process):

  • 连接到现有的.xlsm

  • 将'Sheet14.RangeF:F'和'Sheet14.RangeI:I'读入python dict

  • 验证这是否成功

请告诉我如何解决这个问题 .

1 回答

  • 1

    首先要确保你的路径正确,例如尝试在终端中运行 open /users/edchigliak/sites/xlwings/htz/google/sem_google_realizacija_2016.xlsm 以查看它是否正确打开 .

    其次,表单的语法错误 . 它应该是这样的:

    import xlwings as xw
     wb = xw.Workbook(...)
     print(xw.Sheet(1).name)
    

    请注意,它会自动引用最后一个实例化的工作簿 . 如果要显式指定工作簿,则当前需要执行以下操作:

    xw.Sheet(1, wkb=wb).name
    

    但是这种语法可能会在更近的将来进行修订 .

相关问题