Несколько файлов Excel и несколько листов в один файл Excel, но с различными листами Excel в Python - PullRequest
0 голосов
/ 27 февраля 2020

сначала прошу админа не закрывать топи c. Потому что в прошлый раз я открыл и закрылся, что есть похожие темы. Но это не одно и то же. Заранее спасибо.

Каждый день я получаю 15-20 файлы Excel с огромным количеством рабочих листов ( более 200 ). К счастью, имена и количество рабочих листов одинаковы для всех файлов Excel. Я хочу объединить все файлы Excel в один, но с несколькими листами. Я новичок в Python, на самом деле я много смотрел и читал о том, как это сделать, но не смог найти выход. Спасибо за вашу поддержку.

пример, который я пробовал: У меня два файла с двумя листами (фактическое количество листов огромно, как упомянуто выше), я хочу объединить оба файла в один с двумя листами как sum.xlsx .

Data1.xlsx Data1.xlsx sum.xlsx

import os
import openpyxl
import pandas as pd

files = os.listdir(r'C:\Python\db')  # we open the folder where files are located
os.chdir(r'C:\Python\db')  # we change working direction

df = pd.DataFrame()  # we create an empty data frame

wb = openpyxl.load_workbook(r'C:\Python\db\Data1.xlsx')  # we load one of file to extract list of sheet names
sh_name = wb.sheetnames   # we extract list of names into a list


for i in sh_name:
    for f in files:
        data = pd.read_excel(f, sheet_name=i)
        df = df.append(data)
        df.to_excel('sum.xlsx', index=False, sheet_name=i)
...