Объединить один столбец из нескольких таблиц в листе ExcelPython

Программы на Python
Ответить
Anonymous
 Объединить один столбец из нескольких таблиц в листе Excel

Сообщение Anonymous »

В таблице Excel имеется 12 таблиц (12 месяцев), каждая с одинаковым количеством строк и столбцов.
Ниже представлен макет с использованием четырех таблиц:
Изображение

Я хочу прочитать лист Excel, прочитайте первый столбец (дата) и столбец с определенным заголовком (в данном случае d) из каждой из 12 таблиц. Затем я хочу переименовать столбец d, чтобы теперь он был месяцем соответствующей таблицы. Наконец, я хочу объединить каждый новый фрейм данных в первом столбце.
То есть, используя данные в столбцах с пометками «дата» и «d» (см. изображение выше), я хотите, чтобы конечный результат выглядел так:
Изображение

Поскольку я знаю диапазон ячеек для каждой таблицы, я смог использовать следующий код для чтения первой таблицы, а затем просто скорректировал диапазон, чтобы он соответствовал другим таблицам. См. ниже:

Код: Выделить всё

df1 = pd.read_excel('filename.xlsx', sheet_name='sheet', nrows=31, usecols='B,F')
new_name = str(pd.read_excel('filename.xlsx', sheet_name='sheet', nrows=0, usecols='A'))
df1.rename(columns={'d': new_name}, inplace=True)

Код: Выделить всё

df2 = pd.read_excel('filename.xlsx', sheet_name='sheet', nrows=31, usecols='J,N')
new_name = str(pd.read_excel('filename.xlsx', sheet_name='sheet', nrows=0, usecols='I'))
df2.rename(columns={'d': new_name}, inplace=True)
Можно ли сделать все это одним кодом?
У меня есть следующий код для объединения данных в конце:

Код: Выделить всё

#Merge all dataframes
df_merged = reduce(lambda  left,right: pd.merge(left,right,on=['date'],
how='outer'), dfs).fillna(0)
Можно ли сделать все это одним кодом?

Подробнее здесь: https://stackoverflow.com/questions/791 ... xcel-sheet
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»