如何利用 Python 批量合并 Excel?

网友投稿 248 2022-11-17

如何利用 Python 批量合并 Excel?

大家好,今天分享一个利用​​Pandas​​​进行数据分析的小技巧,也是之前有粉丝在后台进行提问的,即如何将多个​​pandas.dataframe​​​保存到同一个​​Excel​​中。喜欢记得收藏、点赞、关注。

注:技术讨论、资料获取,文末加入我们

其实只需要灵活使用​​pandas​​​中的​​pd.ExcelWriter()​​方法即可。

假设现在我们有​​df1 df2 df3​​​三个​​dataframe​​​,需要将它们保存到同一个​​Excel​​​的不同​​sheet​​​中,只需要先创建一个​​ExcelWriter​​对象,然后不停写入就行

df1 = pd.read_csv('XX奥运会奖牌数据.csv')df2 = pd.read_excel("TOP250.xlsx")df3 = pd.read_excel("2020年中国大学排名.xlsx")writer = pd.ExcelWriter('test.xlsx')df1.to_excel(writer,sheet_name="df1",index=False)df2.to_excel(writer,sheet_name="df2",index=False)df3.to_excel(writer,sheet_name="df3",index=False)writer.save()

是不是和常见的文件读写​​with​​方法类似,我们也可以使用同样的方法

with pd.ExcelWriter("test1.xlsx") as xlsxwriter: df1.to_excel(xlsxwriter,sheet_name="df1",index=False) df2.to_excel(xlsxwriter,sheet_name="df2",index=False) df3.to_excel(xlsxwriter,sheet_name="df3",index=False)

这个方法虽然简单好用,但是如果要保存的 ​​df​​​ 太多了,一个一个手动去读取再手动去保存就显得十分麻烦,另外我们希望​​sheet​​是文件名,如果手动复制粘贴,就更麻烦了。

我们先简单拿来一个小脚本「获取指定目录下的全部Excel文件名」

import osdef getfile(dirpath): filelist = [] for root,dirs,files in os.walk(dirpath): for file in files: if file.endswith("xlsx") or file.endswith("csv"): filelist.append(os.path.join(root,file)) return filelist

下面要做的,我想不用多说了「循环读取,自动保存」

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:手机充电系统面临的问题及解决措施
下一篇:jpa onetomany 使用级连表删除被维护表数据时的坑
相关文章

 发表评论

暂时没有评论,来抢沙发吧~