Python 3 - openpyxl - 按名称迭代列

时间:2016-01-11 21:42:18

标签: python excel openpyxl

使用openpyxl迭代列不是按数字而是按列标题(ws第一行中的字符串值)的最简单方法是什么:

这样的事情:

for cell in ws.columns['revenue']:
    print(cell.value)

1 个答案:

答案 0 :(得分:0)

列标题不存在,因此您必须创建代表它们的内容,可能是基于第一行中的名称:

headers = {}
for idx, cell in enumerate(ws.iter_rows(min_row=1, max_row=1), start=1):
    headers[cell.value] = idx

revenue = ws.columns[headers['revenue']]

ws.columns将返回所有列,这些列在大型工作表上可能会很慢。

您还可以添加一个命名范围来表示相关的单元格并循环显示。