xlwings:将范围读取为词典列表

时间:2018-06-26 14:51:54

标签: excel python-3.x xlwings

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

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

excel data structure

我想读为:

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

我想我正在寻找一种类似于csv的东西。DictReader用于csv文件。

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

1 个答案:

答案 0 :(得分:1)

字典转换器 词典转换器将两个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}

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