sherzod8
@sherzod8
CEO of MCG Group

Как объединить несколько файлов EXCEL на одну таблицу?

Как объединить несколько файлов EXCEL в одну таблицу (именно в таблицу, в одной книге Excel, а в несколько книг в одном файле)?
Т.е. имеется 1600+ анкет, полученные от опроса в телеграм боте. Бот автоматически создает отдельный файл на сервере по результатам опроса. Т.е. ivanovivanivanovich.xlsx, federovfedrfedrovich.xlsx и т.д. Все они отвечают на одни и те же вопросы. Как их всех объединить в одну таблицу?
  • Вопрос задан
  • 299 просмотров
Пригласить эксперта
Ответы на вопрос 3
NeiroNx
@NeiroNx
Программист
Получить список файлов и перечислить его:
открыть файл, получить значения ответов из нужных ячеек, сформировать словарь в памяти - для каждого файла, и добавить его к общему списку.

Создать новый файл Эксель
Перечислить список и записывать в строки в таблицу - каждое словаря поле в нужную колонку.
Сохранить файл.
Ответ написан
Комментировать
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Я это делаю через pandas. Импортирую в pandas первую анкету, потом в цикле в другой датафрейм вторую, ее к первой вторую присоединяю и следующую анкету во второй df, потом по-окончании пачки таблиц данные нормализую и в excel выгружаю.
Ответ написан
Комментировать
ProgrammerForever
@ProgrammerForever Куратор тега Excel
Учитель, автоэлектрик, программист, музыкант
Проще всего было бы сохранять не в .xslx, а в .csv, потом можно было бы парой строк кода обойтись и очень быстрое объединение получилось бы.
А так:
1) Получить список файлов, первое что приходит на ум - FileSystemObject
2) Открыть каждый как Workbook
3) Получить список листов Sheets
4) Получить данные с нужных ячеек Cells
5) Сохранить в память. Неплохой вариант для этого - Dictonary
6) Сохранить всё в файл в удобном формате
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы