python 读取多个excel数据写入同一个excel中

一、将excel数据源存储到同一个excel的不同sheet 中

例如A.xlsx 中有test1,test2 两张sheet。B.xlsx中有test3 一张sheet,存储到C.xlsx中后,C有三张sheet,分别是test1,test2,test3

python 读取多个excel数据写入同一个excel中_第1张图片

python 读取多个excel数据写入同一个excel中_第2张图片

 python 读取多个excel数据写入同一个excel中_第3张图片

 代码:

file_directory = 'D:/test'  # 存放要合并的数据源文件路径
writer = pd.ExcelWriter('C:/Users/87596/Desktop/C.xlsx')  # 合并的文件
for root, dirs, files in os.walk(file_directory):
    for i in range(len(files)):
        file_path = os.path.join(root, files[i])
        sheet = pd.ExcelFile(file_path).sheet_names # 获取excel的所有sheet name
        for sh in sheet:
            base = pd.read_excel(file_path, sh)
            base.to_excel(writer, sh, index=False)
writer.save()

 

 二、将多个excel数据源存储到同一个excel的一个sheet中

注:多个excel的数据源的列名要相同

python 读取多个excel数据写入同一个excel中_第4张图片

python 读取多个excel数据写入同一个excel中_第5张图片

 合并成:

python 读取多个excel数据写入同一个excel中_第6张图片

代码:

file_directory = 'D:/test'  # 存放要合并的数据源文件路径
# 存放每个excel数据
excel_datas = []
for root, dirs, files in os.walk(file_directory):  # 第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
    for file in files:
        file_path = os.path.join(root, file)
        re_ex = pd.read_excel(file_path)  # 将excel转换成DataFrame
        excel_datas.append(re_ex)
all_datas = pd.concat(excel_datas) # 将所有DataFrame合成一个
all_datas.to_excel('C:\\Users\87596\Desktop\\C.xlsx', "all",index=False)

完毕

你可能感兴趣的:(python,excel,python)