openpyxl считывает таблицу Excel и передает ее в DataFrame pandas

Я хотел бы прочитать содержимое таблиц Excel (*) в pandas DataFrames с xlwings.

Я знаю о: передаче данных openpyxl в pandas и о: модуле openpyxl.worksheet.table

Такой модуль предоставляет набор функций для создания и изменения таблиц Excel, но я не могу понять, как просто передать таблицу в DataFrame, и я не знаю, возможно ли это на самом деле (т.е. я не думаю, что есть способ прочитать объект xlwings в пандах)

Любая идея?

ПРИМЕЧАНИЯ: 1) Имейте в виду, что я говорю о таблицах, а не о листах. (Я знаю о pd.read_excel ('name.xlsx', sheetname = 'Sheet1')

2) Я также знаю, что способ пропускать строки или столбцы при чтении листа, что не сработает в моем случае. Мне нужно обратиться к названной таблице.

3) Пользователи, не использующие Excel, часто неправильно понимают, что такое таблица в Excel. Таблица имеет именованный диапазон (вы можете перейти на вкладку ВСТАВИТЬ и увидеть «Таблица»). Этот объект упоминается в VBA как Listobject. Таким образом, таблица - это не простой диапазон в Excel и не именованный диапазон, это нечто большее, это фактически версия Excel фрейма данных pandas.


person JFerro    schedule 11.11.2019    source источник
comment
В основном, как ответ @Max Kaha ниже, но используйте имя таблицы в диапазоне: df = sht.range('MyTable').options(pd.DataFrame).value   -  person Felix Zumstein    schedule 12.11.2019


Ответы (1)


Вы пробовали встроенные конвертеры модуля xlwings? Кажется, у них есть готовые функции для преобразования в Pandas DataFrame, а также Pandas Series.

Документация xlwings

Вот краткий пример, который они приводят:

>>> sht = xw.Book().sheets[0]
>>> df = sht.range('A1:D5').options(pd.DataFrame, header=2).value
>>> df
    a     b
    c  d  e
ix
10  1  2  3
20  4  5  6
30  7  8  9
person Max Kaha    schedule 11.11.2019
comment
Привет, Макс, поздравляю с новым участником. Что касается ответа, я не пробовал этого, но похоже, что он передает в фрейм данных определенный диапазон листа. Я говорю о передаче таблицы листа. Таблица - это именованный ранжированный объект, так называемый листобъект в коде VBA. - person JFerro; 12.11.2019