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

3
XLWings是否允许我通过表格和列名称与Excel表格(通过菜单或ctrl+t在Excel 2007及更高版本中可用)进行交互?这在年轻的开源项目Pyvot中存在(https://pypi.python.org/pypi/Pyvot)。我希望现在可以在XLWings中实现,或者XLWings将添加此功能,特别是因为此开源项目可作为模型使用。
以下是https://pythonhosted.org/Pyvot/tutorial.html中的示例。 "Pyvot特别识别来自表格和自动筛选器的列名。 Pyvot将搜索工作簿中所有表格以查找给定的列名。"下面的示例将返回City列中可见单元格的值列表。
import xl
wb = xl.Workbook(r"c:\temp\cities.xlsx")
wb.get("City").get() #get the column named City
1个回答

5
方括号访问是有效的,例如请参见这里
例如,获取特定列的数据:
import xlwings as xw
wb = xw.Workbook.active()
xw.Range('TableName[ColumnName]').value

若要获取包括表头和总行的列,可以执行以下操作:

xw.Range('TableName[[#All], [ColumnName]]').value

2
这似乎是与本地化相关的问题,在德语版本中,我必须写[#Alle]而不是[#All],并且使用分号而不是逗号。虽然VBA只接受国际版,所以这可能算作xlwings中的一个错误? - Redoute
@Felix Zumstein,谢谢你的回答,但如果你能在回答中给出一个使用xlwings生成TableName部分的示例,那就太好了。TableName代表一个_Excel表格_(不幸的是,“Excel表格”这个术语似乎有点模糊,在Microsoft Excel中,它指的是当点击“主页”选项卡->“格式为表格”时发生的事情)。问题是,如果未定义TableName,代码将无法运行。 - mouwsy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接