如何使用openpyxl遍历excel电子表格中的每一行

时间:2019-03-24 01:06:29

标签: python openpyxl

我想将excel电子表格中每一行的第一列作为键,并将该行中的其余值作为其值,以便可以将它们存储在字典中。 问题是,当我遍历行和列时,所有行值都存储在每个键中。

ng-invalid
电子表格中的

数据: enter image description here

我期望的结果: {1:['John','Doe',4567891234,'johndoe @ jd.ca'],2:['Wayne'Kane',1234567891,'wd @ wd.ca']}

我得到的结果是: {1:['John','Doe',4567891234,'johndoe@jd.ca','Kane',1234567891,'wd@wd.ca'],2:['John','Doe',4567891234, 'johndoe@jd.ca','Kane',1234567891,'wd@wd.ca']}

1 个答案:

答案 0 :(得分:1)

Openpyxl已经有了使用worksheet.iter_rows()遍历行的正确方法。您可以使用它解包第一个单元格的值作为键,将其他单元格的值解包作为字典中的列表,对每一行重复一次。

from openpyxl import load_workbook

file = "test.xlsx" #load the work book
wb_obj = load_workbook(filename = file)
wsheet = wb_obj['test']
dataDict = {}

for key, *values in wsheet.iter_rows():
    dataDict[key.value] = [v.value for v in values]