osc*_*ado 4 python excel pandas
我需要一些帮助。
我有多个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()
Run Code Online (Sandbox Code Playgroud)
所有 Excel 文件如下所示:
抱歉,我无法在这里上传图片,不知道为什么,但我粘贴了链接
但所有 Excel 文件都具有完全相同的列和行,并且只有一张工作表,唯一的区别是工作表名称
提前致谢
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: #For each excel
sheet_name = pd.ExcelFile(excel).sheet_names[0] #Find the sheet name
df = pd.read_excel(excel) #Create a dataframe
df.to_excel(writer, sheet_name=sheet_name, index=False) #Write it to a sheet in the output excel
Run Code Online (Sandbox Code Playgroud)