如何在 XLWings 中引用 Excel 表格列名称?

cad*_*ena 3 python excel excel-2010 xlwings

XLWings 是否允许我通过表和列名称与 Excel 表格(在 Excel 2007 及更高版本中通过菜单或 ctrl+t 提供)进行交互?这确实存在于年轻的开源项目 Pyvot ( https://pypi.python.org/pypi/Pyvot ) 中。我希望 XLWings 现在可以实现这一点,或者 XLWings 将添加该功能,特别是因为这个开源项目可以作为模型使用。

这是来自https://pythonhosted.org/Pyvot/tutorial.html的示例。“Pyvot 专门识别表和自动过滤器中的列名称。Pyvot 将在工作簿中的所有表中搜索给定的列名称。” 下面的示例会将“城市”列中可见单元格的值返回到列表。

import xl
wb = xl.Workbook(r"c:\temp\cities.xlsx")
wb.get("City").get() #get the column named City
Run Code Online (Sandbox Code Playgroud)

Fel*_*ein 5

方括号访问有效,请参见此处

例如获取特定列的数据:

import xlwings as xw
wb = xw.Workbook.active()
xw.Range('TableName[ColumnName]').value
Run Code Online (Sandbox Code Playgroud)

或者要获取包括标题和总计行的列,您可以执行以下操作:

xw.Range('TableName[[#All], [ColumnName]]').value
Run Code Online (Sandbox Code Playgroud)

  • 这似乎与本地化相关,在德语版本中,我必须写 [#Alle] 而不是 [#All],并写一个分号而不是逗号。虽然VBA只接受国际版本,所以这可能算作xlwings中的错误吗? (2认同)