Как oбьединить файлы Excel в один?
Есть задача обьединить между собой Excel файлы и создать из них один общий файл.
Наименование столбцов в каждом файле одинаковое:
номер`, `наименование`, `договор`, `сумма`
Количество строк разное. В каждом файле столбцы могут идти не по порядку. Например, в файле а - сначала номер, наименование, договор, сумма. А в файле б - номер, договор, сумма, наименование.
Ещё одно условие, перед таблицей из каждого такого файла, в объединённом файле должна быть вставлена строка (объединение всех столбцов) с определённым наименованием.
Плюс добавить форматирование этой объединяющей строки.
Я понимаю как использовать Pandas, Concat, но в таком случае результат просто объединение, если в каждом файле столбцы идут в одинаковом порядке и не понимаю как добавить строку с объединением ячеек.
Ответы (1 шт):
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 - советую вам открыть отдельный вопрос с более подробным вопросом о том, что и как вы хотите отформатировать...