pandas 将所有excel文件合并到一个包含多个工作表的文件中

siotufzp  于 2022-12-02  发布在  其他
关注(0)|答案(1)|浏览(156)

我需要一些帮助。
我有多个excel文件,每个文件只有一个表。
我想把所有的excel文件合并成一个文件,但有多个工作表,每个excel文件一个工作表,保持相同的工作表名称。
这是我目前所知道的:

import pandas as pd
from glob import glob
import os

excelWriter =  pd.ExcelWriter("multiple_sheets.xlsx",engine='xlsxwriter')


for file in glob('*.xlsx'):
    df = pd.read_excel(file)
    df.to_excel(excelWriter,sheet_name=file,index=False)
excelWriter.save()

所有Excel文件看起来都像这样:
https://iili.io/HfiJRHl.png
对不起,我不能上传图片在这里,不知道为什么,但我粘贴链接
但所有excel文件都有完全相同的列和行,只有一个工作表,唯一的区别是工作表名称
先谢了

dgiusagp

dgiusagp1#

import pandas as pd
import os

output_excel = r'/home/bera/Desktop/all_excels.xlsx'

#List all excel files in folder
excel_folder= r'/home/bera/Desktop/GIStest/excelfiles/'
excel_files = [os.path.join(root, file) for root, folder, files in os.walk(excel_folder) for file in files if file.endswith(".xlsx")]

with pd.ExcelWriter(output_excel) as writer:
    for excel in excel_files:
        sheet_name = pd.ExcelFile(excel).sheet_names[0] #Find the sheet name
        df = pd.read_excel(excel)
        df.to_excel(writer, sheet_name=sheet_name, index=False)

相关问题