xlwings:读取范围作为字典列表

xlwings: Read range as list of dictionaries

是否可以使用 xlwings 读取 Excel 范围作为字典列表?

假设我的数据在 Excel 中,例如:

我想读作:

[{'Name': 'Joan', 'Age': 45}, {'Name': 'Ali', 'Age': 18}, {'Name': 'Mustafa', 'Age': 37}]

我想我正在寻找类似于 csv.DictReader 对 csv 文件的作用。

如果这不可能,我可以使用 .expand('horizontal') 作为列表列表读入,然后创建字典。如果已经有内置方法,我只是不想这样做。

字典转换器 字典转换器将两个 Excel 列转换为字典。如果数据是行方向的,使用转置:

>>> sht = xw.sheets.active
>>> sht.range('A1:B2').options(dict).value
{'a': 1.0, 'b': 2.0}
>>> sht.range('A4:B5').options(dict, transpose=True).value
{'a': 1.0, 'b': 2.0}

注意:除了字典,您还可以使用集合中的 OrderedDict。