前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pandas合并多个小Excel到一个大 Excel

pandas合并多个小Excel到一个大 Excel

作者头像
哆哆Excel
发布2022-10-25 15:19:14
1K0
发布2022-10-25 15:19:14
举报
文章被收录于专栏:哆哆Excel

pandas合并多个小Excel到一个大 Excel

【解决问题】

有10个这样的文件,它们的结构是一样的,现在想要把他们合并成(汇总)成一个大的文件,在添加一列标出数据来源于那个文件(方便查找复核)

图片
图片

【工作步骤】

1.遍历文件夹,得到要合并的 Excel文件列表

2.分别读取到 dataframe,给每个添加一列用于标记来源

3.使pd. concat进行df批量合并

4.将合并后的 dataframe输出为一个汇总的大excel

【过程】

图片
图片
图片
图片
图片
图片

最后的大excel文件如下

图片
图片

【代码与解析】

#导入相关的包

import os

import pandas as pd

path="D://yhd_python_home/yhd-pandas合并多个小excel文件为一个大excel/"

#读取文件夹是的所有文件,并存入到一个列表中

file_list=[]

for excel_name in os.listdir(f"{path}splits/"):

    file_list.append(excel_name)

file_list

#循环列表,读出每个excel文件,中的数据并在每个列表数据的最后一列添加一列“来源”,数据为文件名,把“身份证”数据类型为为str,要不然存入excel文件时以数值形式时excel显示就会出错,再append到一个大的列表中,再把列表concat为一个DataFrame,再写入excel,完成

data_list=[]

for x_name in file_list:

    read_file=f"{path}splits/{x_name}"

    list_one=pd.read_excel(read_file)

    list_one['来源']=x_name

    print(x_name)

data_list.append(list_one)

df_merge=pd.concat(data_list)

df_merge['身份证']=df_merge['身份证'].astype('str')

df_merge.shape

df_merge.head()

df_merge.to_excel(f"{path}汇总表.xlsx")

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档