选择一个名为openpyx的列

2024-04-25 01:42:39 发布

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

这是我当前的代码。如您所见,我通过指定列索引从每一行的每个单元格中获取一个值。在

for row_cells in sheet.iter_rows(min_row=1, max_row=10):
   object = {"key1": str(row_cells[1].value), "Key2": str(row_cells[3].value),
                           "Key3": str(row_cells[4].value), "Key4": str(row_cells[2].value),
                           "Key5": str(row_cells[5].value)}

现在,在给定的excel表中,第一行总是包含每个列的标题。 有没有一种方法,不用指定索引,而是指定列的名称,然后在单元格中获取一个值。.upper()方法确实提供了列最上面的单元格的值。在


Tags: 方法代码inforobjectvalueminmax
1条回答
网友
1楼 · 发布于 2024-04-25 01:42:39

您可以先构建一个字典,其中键是列名,值是列号。然后,用字典把名字翻译成数字。在

import openpyxl

workbook = openpyxl.load_workbook('Data/Test01.xlsx')
worksheet = workbook['Sheet1']

## Create a dictionary of column names
ColNames = {}
Current  = 0
for COL in worksheet.iter_cols(1, worksheet.max_column):
    ColNames[COL[0].value] = Current
    Current += 1

## Now you can access by column name
## (My data has a column named 'Dogs')
for row_cells in worksheet.iter_rows(min_row=1, max_row=4):
    print(row_cells[ColNames['Dogs']].value)

相关问题 更多 >