Python:使用 OpenPyXL 模拟 CSV.DictReader

bcl*_*man 6 python excel openpyxl

我有一个 Excel (.xlsx) 文件,我正在尝试逐行解析该文件。我有一个标题(第一行),其中有一堆列标题,例如学校、名字、姓氏、电子邮件等。

当我循环遍历每一行时,我希望能够这样说:

row['School']
Run Code Online (Sandbox Code Playgroud)

并返回当前行和标题为“School”的列中单元格的值。

我浏览了 OpenPyXL 文档,但似乎找不到任何非常有用的东西。

有什么建议么?

Cha*_*ark 0

Excel 工作表比 CSV 文件灵活得多,因此拥有像 DictReader 这样的东西没有什么意义。

只需根据相关列标题创建一个辅助词典即可。

如果你有这样的列,"School", "First Name", "Last Name", "EMail"你可以像这样创建字典。

keys = dict((value, idx) for (idx, value) in enumerate(values))
for row in ws.rows[1:]:
    school = row[keys['School'].value
Run Code Online (Sandbox Code Playgroud)