xlwings: чтение диапазона в виде списка словарей - PullRequest
0 голосов
/ 26 июня 2018

Можно ли использовать xlwings для чтения диапазона Excel в виде списка словарей?

Скажем, у меня есть данные в Excel, например:

excel data structure

Я хочу прочитать это как:

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

Я думаю, что я ищу что-то, что работает как csv.DictReader для CSV-файлов.

Если это невозможно, я могу прочитать список списков, используя .expand («горизонтальный»), а затем создать словари. Я просто не хотел этого делать, если уже есть встроенный метод.

1 Ответ

0 голосов
/ 30 апреля 2019

Словарь преобразователя Преобразователь словаря превращает два столбца Excel в словарь. Если данные в ориентации строки, используйте transpose:

>>> 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 из коллекций.

...