当前位置:   article > 正文

学会一招!如何利用 pandas 批量合并 Excel?

pandas合并excel

20c3b0fe678eeeea54ff1960027b34d6.png

大家好,我是菜鸟哥!

今天分享一个利用Pandas进行数据分析的小技巧,也是之前有粉丝在后台进行提问的,即如何将多个pandas.dataframe保存到同一个Excel中。

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

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

  1. df1 = pd.read_csv('东京奥运会奖牌数据.csv')
  2. df2 = pd.read_excel("TOP250.xlsx")
  3. df3 = pd.read_excel("2020年中国大学排名.xlsx")
  4. writer = pd.ExcelWriter('test.xlsx')
  5. df1.to_excel(writer,sheet_name="df1",index=False)
  6. df2.to_excel(writer,sheet_name="df2",index=False)
  7. df3.to_excel(writer,sheet_name="df3",index=False)
  8. writer.save()

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

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

得到的结果是一样的,可以将多个df保存到一个Excel中
f95aa5f4ebd8f446596b9bccddce67cc.png

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

这时,办公自动化系列的文章就发挥作用了,我们先简单拿来一个小脚本「获取指定目录下的全部Excel文件名」

  1. import os
  2. def getfile(dirpath):
  3. filelist = []
  4. for root,dirs,files in os.walk(dirpath):
  5. for file in files:
  6. if file.endswith("xlsx") or file.endswith("csv"):
  7. filelist.append(os.path.join(root,file))
  8. return filelist

执行一下,可以看到指定目录下的全部Excel文件名
fac2b75ae414d3d1dbc8cd0a573a3de6.png

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

  1. filelist = getfile('/Users/liuzaoqi/Desktop/zaoqi/2022公众号文章/如何保存多个df')
  2. writer = pd.ExcelWriter('test.xlsx')
  3. for file in filelist:
  4. if file.endswith("xlsx"):
  5. df = pd.read_excel(file)
  6. else:
  7. df = pd.read_csv(file)
  8. df.to_excel(writer,sheet_name=file.split('/')[-1].split('.')[0],index=False)
  9. writer.save()

现在,当前目录下的全部Excel就自动合并到一个Excel中的不同sheet中,并且sheet名是对应的文件名
436475bc1e5b2ef0775bbe2b0533430d.png

如果你对本文的内容感兴趣,不妨拿走代码试一下,如果你还有pandas相关问题,欢迎在评论区留言。

  1. 推荐阅读:
  2. 入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
  3. 干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
  4. 趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
  5. AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
  6. 小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点阅读原文,看B站我的20个视频!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/209966
推荐阅读
相关标签
  

闽ICP备14008679号