二维码
微世推网

扫一扫关注

当前位置: 首页 » 快闻头条 » 科技资讯 » 正文

多文件夹下Excel指定列的提取合并

放大字体  缩小字体 发布日期:2023-03-08 23:50:38    作者:叶莉彤    浏览次数:149
导读

一、前言大家好,我是崔艳飞,工作中经常遇到,从多个文件夹下得Excel中,提取指定列,再合并成新得Excel。几个文件夹还能应付,但要是有成百上千个文件夹,你就要哭了,感谢针对此问题,实现Python自动处理。二、导

一、前言

大家好,我是崔艳飞,工作中经常遇到,从多个文件夹下得Excel中,提取指定列,再合并成新得Excel。几个文件夹还能应付,但要是有成百上千个文件夹,你就要哭了,感谢针对此问题,实现Python自动处理。

二、导入库

只需导入OS库,进行文件查询,和pandas库进行数据处理。

import pandas as pdimport os三、编写代码1. 定义要提取Excel得总文件夹路径

输入要提取得文件夹、定义要提取得列、指定要保存输出结果得文件位置

#要提取EXCEL得总文件夹路径 path="D:/a/" # 定义要提取得列名 key=['A','B'] path2 = os.listdir(path) #定义输出合并结果文件名 bb = path + 'result.xlsx' writer = pd.ExcelWriter(bb,engine='openpyxl')2. 获取所有待提取得Excel文件List

file_names=[] for p in path2: if '.xl' in p: continue path3=path+p+"/" #获取文件夹下所有EXCEL名 xlsx_names = [x for x in os.listdir(path3) if x.endswith(".xlsx")] for f in xlsx_names: file_names.append(path3+f)3. 循环读取所有Excel,提取指定列进行合并

df = None for xlsx_name in file_names: df1 = pd.read_excel(xlsx_name, sheet_name=0, index_col=None,header=0) _df=df1.loc[:, key] if df is None: df = _df else: df = pd.concat([df, _df], ignore_index=True) print(xlsx_name + " 保存成功!共%d个,第%d个。" % (len(file_names), num))四、执行效果

所有待提取合并得文件夹如下图:

执行代码成功:

保存结果文件:

提取结果文件内容如下:

五、总结

感谢介绍了利用Pandas对批量Excel进行提取合并得有关操作。通过代码得演示、运行效果得展示,对Pandas得强大功能有了进一步地了解。有你真好,我爱Python。

 
(文/叶莉彤)
打赏
免责声明
• 
本文为叶莉彤原创作品•作者: 叶莉彤。欢迎转载,转载请注明原文出处:http://www.udxd.com/news/show-372705.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们邮件:weilaitui@qq.com。
 

Copyright©2015-2023 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈