环球动态:使用Python批量筛选上千个Excel文件中的某一行数据并另存为新Excel文件(上篇)

2023-01-05 14:18:47 | 来源:
点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书


(资料图)

离离原上草,一岁一枯荣。

大家好,我是Python进阶者。

一、前言

前几天在帮助粉丝解决问题的时候,遇到一个简单的小需求,这里拿出来跟大家一起分享,后面再次遇到的时候,可以从这里得到灵感。

二、需求澄清

粉丝的问题来源于实际的需求,她现在想要使用Python批量筛选上千个Excel文件中的某一行数据并另存为新Excel文件,如果是正常操作的话,肯定是挨个点击进去Excel文件,然后CTRL+F找到满足筛选条件的数据,之后复制对应的那一行,然后放到新建的Excel文件中去。

这样做肯定是可以,但是当有上百个文件夹需要复制呢?上千个文件呢?肯定就需要消耗大量的时间和精力了。估计一天都不一定完成的了。

这里使用Python进行批量实现,流程下来,1分钟不到搞定!这里装X了,其实码代码还是需要点时间的,狗头保命!

下面这个代码是初始代码,可以实现的是筛选出来的每一行都另存为新文件,100个文件就存100个文件了。代码如下:

importpandasaspdimportospath=r"./新建文件夹/"#获取文件夹下的所有文件名name_list=os.listdir(path)name_list=(pd.DataFrame(name_list))#for循环遍历读取foriinrange(len(name_list)):df=pd.read_excel(path+name_list[0][i])print("{}读取完成!".format(i))hai=df[df["id"]=="58666"]hai.to_excel("./res/"+name_list[0][i])

三、实现过程

这里给大家提供两个可行的代码,思路也很简单,直接遍历文件夹,然后加条件筛选,之后符合条件的,直接使用concat进行合并,代码如下:

importpandasaspdimportospath=r"./新建文件夹/"#获取文件夹下的所有文件名name_list=os.listdir(path)name_list=pd.DataFrame(name_list)#计数器res=[]#for循环遍历读取foriinrange(len(name_list)):#len(name_list)等于21df=pd.read_excel(path+name_list[0][i])print("文件{}读取完成!".format(i))target_data=df[df["id"]=="58666"]#print(target_data)res.append(target_data)final_df=pd.concat(res)final_df.to_excel("target.xlsx")

代码运行之后,就可以把某一文件夹下的所有Excel满足筛选条件的Excel行,存到一个单独的Excel中去。再也不用挨个去手动复制了,使用Python事半功倍!

后来在【猫药师Kelly】的指导下,还写了一个新的代码,也是可以的,思路和上面的差不多,代码如下所示:

importpandasaspdimportospath=r"./新建文件夹/"#获取文件夹下的所有文件名name_list=os.listdir(path)#print(name_list)#name_list=pd.DataFrame(name_list)#file_path=[xxx,xxx,xxx,......]res=pd.read_excel(path+name_list[0])res=res[res["id"]=="58666"]forfileinname_list[1:]:temp=pd.read_excel(path+file)temp=temp[temp["id"]=="58666"]res=pd.concat([res,temp],ignore_index=True)res.to_excel("res.xlsx")

实现的效果如下图所示:

三、总结

大家好,我是皮皮。这篇文章主要盘点一个Python自动化办公的实用案例,这个案例可以适用于实际工作中文件处理,大家也可以稍微改进下,用于自己的实际工作中去,举一反三。

大家在学习过程中如果有遇到问题,欢迎随时联系我解决(我的微信:pdcfighting),应粉丝要求,我创建了一些高质量的Python付费学习交流群和付费接单群,欢迎大家加入我的Python学习交流群和接单群!

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

-------------------End-------------------

往期精彩文章推荐:

盘点一个JS逆向过程中中文编解码的小案例

盘点一个Python自动化办公实战案例

盘点一个Pandas操作Excel多条件取值的实战案例

盘点一个Python列表转换为字典并排序的问题

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群】

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

上一篇 下一篇

相关新闻

环球动态:使用Python批量筛选上千个Excel文件中的某一行数据并另存为新Excel文件(上篇)

朗科智能董秘回复:2022年全年,公司上游原材料价格总体采购价格不存在同比上升的情况

美亚柏科:公司承担建设的全国居民身份证电子证照大数据平台是未来网络空间及数字经济的核心基础设施之一

财技大比拼!2022年投资不容易,巴菲特、达利欧等华尔街大佬的收益率都有多少?_今日看点

天天热推荐:去年全国电影总票房超三百亿元 国产电影票房255.11亿元

41个!2022全国新开文旅项目盘点-焦点快播

悲痛!元旦节刚过,8位明星名人逝世,从33岁到94岁,都是大咖-天天日报

蓟州区债务追讨律师费用怎么算

厦门油价最新消息(持续更新)

今热点:浙江自然: 浙江大自然户外用品股份有限公司关于使用部分闲置募集资金进行现金管理到期赎回的公告

环球速讯:福建泉州一油罐车爆炸 官方通报:未发现人员伤亡

新资讯:《石狮市农机应急作业服务队建设方案》出台

天天时讯:启航2023!这批重大项目取得新进展→

阿尔特汽车回应广州车展展台起火:电气短路引发火情,已正常开放展出-百事通

维信诺(002387.SZ)将于1月3日开市起复牌

最新新闻

环球动态:使用Python批量筛选上千个Excel文件中的某一行数据并另存为新Excel文件(上篇)

朗科智能董秘回复:2022年全年,公司上游原材料价格总体采购价格不存在同比上升的情况

美亚柏科:公司承担建设的全国居民身份证电子证照大数据平台是未来网络空间及数字经济的核心基础设施之一

财技大比拼!2022年投资不容易,巴菲特、达利欧等华尔街大佬的收益率都有多少?_今日看点

天天热推荐:去年全国电影总票房超三百亿元 国产电影票房255.11亿元

41个!2022全国新开文旅项目盘点-焦点快播

悲痛!元旦节刚过,8位明星名人逝世,从33岁到94岁,都是大咖-天天日报

蓟州区债务追讨律师费用怎么算

厦门油价最新消息(持续更新)

今热点:浙江自然: 浙江大自然户外用品股份有限公司关于使用部分闲置募集资金进行现金管理到期赎回的公告

环球速讯:福建泉州一油罐车爆炸 官方通报:未发现人员伤亡

新资讯:《石狮市农机应急作业服务队建设方案》出台

天天时讯:启航2023!这批重大项目取得新进展→

阿尔特汽车回应广州车展展台起火:电气短路引发火情,已正常开放展出-百事通

维信诺(002387.SZ)将于1月3日开市起复牌

关于未正人先正己人己一样的句子(精选81句)

东西问|朱振藩:台湾美食里的中华“基因密码”是如何组成的?

赵正平爆小S婚姻出现问题!夫妻俩貌合神离,女方当场脸色大变 全球即时

肉有哪些?-每日速递

快资讯丨金能科技: 金能科技股份有限公司关于解除部分为全资子公司担保的公告

头条焦点:鸿达兴业: 鸿达兴业股份有限公司第八届董事会第三次(临时)会议决议公告

理想L9、L8完成产能爬坡 理想汽车(02015)12月总交付量将突破20000台_最新快讯

青岛茶山滑雪场位置在哪?怎么去?

全球快资讯丨血氧仪热销缺货 价格参差不齐

成都:2022年新生大熊猫宝宝集体亮相_今日热闻

荣丰控股:截至本公告日 盛世达投资有限公司累计质押股数约为5768万股

快报:吉比特:12月28日融券卖出金额120.65万元,占当日流出金额的1.32%

极市直播预告丨NeurIPS 2022 Oral-张博航:如何从模型层面获得对抗鲁棒性保证?

浙江:出海抢单团收获满满 企业满负荷生产加快订单交付

天天讯息:燕京啤酒董秘回复:近年来,公司时刻关注市场需求,不断研发新品、调整产品结构,形成清晰的产品线,罐化率稳步提升