0

当我尝试连接到现有工作簿并验证连接是否有效时,如下所示:

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 上的终端抛出此错误

操作系统错误:-1728 消息:您尝试访问的对象不存在
命令:app(u'/Applications/MicrosoftExcel.app').workbooks['sem_google_realizacija_2016.xlsm'].name.get()

工作簿确实打开了,它会提示允许启用宏和数据连接,所以一切都很好。在我看来,好像我试图在 MicrosoftExcel.app 上而不是从 xlwings 库中调用 .name() 方法(或属性?)?

我最终想做的(完成整个过程):

  1. 连接到这个现有的 .xlsm
  2. 将 'Sheet14.RangeF:F' 和 'Sheet14.RangeI:I' 读入 python 字典
  3. 验证这是否成功

请告知我该怎么做。

4

1 回答 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)

请注意,它会自动引用最后实例化的 Workbook。如果要显式指定工作簿,当前需要这样做:

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

但是这种语法可能会在不久的将来进行修改。

于 2016-02-16T14:01:49.677 回答