Словарь именованных диапазонов в листе - PullRequest
0 голосов
/ 22 мая 2019

У меня есть таблица Excel с большим количеством именованных диапазонов. Я хотел бы быть в состоянии получить данные от них эффективным способом. Предпочтительно в словаре Python с именем диапазона в качестве ключа и значением в качестве значения. Или каким-то образом создать псевдо-рабочую книгу, которая позволит мне читать лист безо всяких призывов к совершенству.

Прямо сейчас я получаю значение из каждого именованного диапазона в отдельности. Это работает, но очень медленно. В идеале должен быть один или два вызова для получения всех именованных диапазонов. В настоящее время я использую @ xw.sub для получения значений.

@xw.sub
def get_named_ranges():
    wb = xw.Book.caller()
    ranges = {}
    ranges['MyNamedRange1'] = wb.sheets['sheet1'].['MyNamedRange1'].value
    ranges['MyNamedRange2'] = wb.sheets['sheet1'].['MyNamedRange2'].value
    ranges['MyNamedRange3'] = wb.sheets['sheet1'].['MyNamedRange3'].value

Named Range Example

1 Ответ

0 голосов
/ 22 мая 2019

Вы можете использовать Панд для этого.

enter image description here

from pandas import *
xls = ExcelFile('test.xlsx')
df = xls.parse(xls.sheet_names[0])
print(df.to_dict())

enter image description here

...