Как oбьединить файлы Excel в один?

Есть задача обьединить между собой Excel файлы и создать из них один общий файл.

Наименование столбцов в каждом файле одинаковое:

номер`, `наименование`, `договор`, `сумма` 

Количество строк разное. В каждом файле столбцы могут идти не по порядку. Например, в файле а - сначала номер, наименование, договор, сумма. А в файле б - номер, договор, сумма, наименование.
Ещё одно условие, перед таблицей из каждого такого файла, в объединённом файле должна быть вставлена строка (объединение всех столбцов) с определённым наименованием.
Плюс добавить форматирование этой объединяющей строки.

Я понимаю как использовать Pandas, Concat, но в таком случае результат просто объединение, если в каждом файле столбцы идут в одинаковом порядке и не понимаю как добавить строку с объединением ячеек.


Ответы (1 шт):

Автор решения: MaxU

pd.concat() замечательно справится с этой задачей. Вот рабочий и воспроизводимый пример:

In [29]: df1 = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=list("abc"))

In [30]: df2 = df1[list("bca")] * 2

In [31]: df1
Out[31]:
   a  b  c
0  1  2  3
1  4  5  6
2  7  8  9

In [32]: df2
Out[32]:
    b   c   a
0   4   6   2
1  10  12   8
2  16  18  14

In [33]: pd.concat([df1, df2])
Out[33]:
    a   b   c
0   1   2   3
1   4   5   6
2   7   8   9
0   2   4   6
1   8  10  12
2  14  16  18

PS по поводу форматирования наименования столбцов в Excel - советую  вам открыть отдельный вопрос с более подробным вопросом о том, что и как вы хотите отформатировать...

→ Ссылка