Python 3 openpyxl通过nam遍历列

2024-09-28 21:32:30 发布

您现在位置:Python中文网/ 问答频道 /正文

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

像这样的:

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

Tags: columns方法字符串in标题forwsvalue
1条回答
网友
1楼 · 发布于 2024-09-28 21:32:30

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

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将返回所有列,这些列在大型工作表上可能会比较慢。

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

相关问题 更多 >