连接到现有工作簿会在xlwings

时间:2016-02-16 10:26:56

标签: python excel xlwings

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

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上的

终端抛出错误

  

OSERROR:-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:我'进入python dict
  3. 验证这是否成功
  4. 请告诉我如何解决这个问题。

1 个答案:

答案 0 :(得分: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

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