将 excel 个文件与其所有工作表 Python 连接起来

Concatenate excel files with all their sheets Python

我有两个同名的excel文件保存在不同的目录下,第一个文件有两个sheetRapport détailléDélai de reconnection,第二个文件有一个 sheet 名为 Rapport détaillé.

我需要连接这两个文件:

  1. 连接 sheet 个同名
  2. 保留第一个文件中的第二个 sheet

所以输出excel文件需要有两个sheet,第一个是Rapport détaillé,第二个是Délai de reconnection

我的代码只连接前两个 sheets,没有考虑 sheet.

的名称
import glob
import pandas as pd
import os,sys,inspect

d2 = 'C:/Users/khouloud/Desktop/cleanVersion/Reports'
d1 = 'C:/Users/khouloud/Desktop/Reports'

output_dir =FinalResult

file_d1 = glob.glob(d1 + "/*.xlsx")
file_d2 = glob.glob(d2 + "/*.xlsx")
i=0
#  
for file_d1 in glob.glob(d1 + "/*.xlsx"):
    fileName_d1 = os.path.splitext(os.path.splitext(os.path.basename(file_d1))[0])[0]       
    for file_d2 in glob.glob(d2 + "/*.xlsx"):
        fileName_d2 = os.path.splitext(os.path.splitext(os.path.basename(file_d2))[0])[0]
        if fileName_d1 == fileName_d2:
            i+=1
            fileName_1=d1+'/'+fileName_d1+'.xlsx'
            df1 = pd.read_excel(fileName_1, header=0, index= False)
            fileName_2=d2+'/'+fileName_d2+'.xlsx'
            df2 = pd.read_excel(fileName_2, header=0, index= False)
            df = pd.DataFrame(np.concatenate([df1.values, df2.values]), columns=df2.columns)
            print('**********************************************')
            print(df)
            print('**********************************************')
            df.to_excel(FinalResult+'/'+fileName+'/'+fileName_d1+'.xlsx', index = False, header=True)

你试过这个吗?

rd1 = pd.read_excel(filename1, sheet_name = 'Rapport détaillé')
ddr = pd.read_excel(filename1, sheet_name = 'Délai de reconnection')
rd2 = pd.read_excel(filename2, sheet_name = 'Rapport détaillé')
rd_comb = pd.concat([rd1,rd2])

writer = pd.ExcelWriter(target_file_name, 
engine='xlsxwriter')
rd_comb .to_excel(writer, sheet_name = 'Rapport détaillé')
ddr.to_excel(writer, sheet_name = 'Délai de reconnection')
writer.save()

过去我遇到过 sheetname 与 sheet_name 的问题,具体取决于版本。