世界观热点:使用Python批量筛选上千个Excel文件中的某一行数据并另存为新Excel文件(上篇)

点击上方“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文件(上篇)
2023-01-04 10:42:35
世界热讯:东软集团(600718)1月3日主力资金净卖出290.14万元
2023-01-04 07:30:21
每日速递:华统股份: 2022年第四季度可转换公司债券转股情况公告
2023-01-03 22:04:34
新华全媒+|守护好农村群众健康——云南镇雄县抗疫一线见闻
2023-01-03 17:56:04
只为“坐”得更好
2023-01-03 15:20:07
百万基金理财:煤炭要大涨,大涨,大涨了?
2023-01-03 12:21:00
天天时讯:关联企业的债权债务可以转让吗?
2023-01-03 08:56:27
热议:国美零售:获控股股东黄光裕旗下公司提供1.3亿港元贷款
2023-01-03 02:13:59
Nacos 支持达梦数据库持久化插件使用 环球速讯
2023-01-02 22:49:27
欠债不还房产给谁?法院会判给他们一套吗?
2023-01-02 16:10:37
天天快消息!芋圆可以放冰箱吗 芋圆的保存方法
2023-01-02 00:11:50
自制深度学习推理框架-实现我们的第一个算子Relu-第三课
2023-01-01 08:07:34
用户买iPhone 13 取消订单但不退款|最新消息
2022-12-31 15:51:52
今日最新!中国和新加坡金融合作再深化!新交所集团迎来两只深新ETF互通产品
2022-12-30 21:12:58
【全球独家】耍雪、吃美食、看企鹅 石棉孟获城首届冰雪嘉年华开幕
2022-12-30 18:31:58
全球头条:指数午后横盘整理 酒店、旅游板块震荡拉升
2022-12-30 15:26:37
热推荐:汇川技术:公司没有客户退货情况
2022-12-30 09:44:44
实时:蚂蚁集团概念股板块12月29日跌0.66%,人民网领跌,主力资金净流出5.99亿元
2022-12-30 04:18:24
新华保险数字化转型提速 “掌上新华”用户数突破260万
2022-12-29 19:53:03
【券商聚焦】西部证券首予阅文集团(00772)“买入”评级 目标价36.96港元-世界资讯
2022-12-29 17:52:12
林书豪告别广州男篮:我决定提前结束CBA本赛季征程|世界播报
2022-12-29 15:40:32
12座车站!这一高铁,开通!春节回家,又提速了!
2022-12-29 13:31:57
精准医疗板块12月28日涨0.19%,艾德生物领涨,主力资金净流出2652.88万元
2022-12-29 11:55:43
原创歌曲MV|美美与共 环球微头条
2022-12-29 09:54:46
“定制+成品”双核心驱动,皇朝定制走出一条特色发展之路
2022-12-28 17:12:44
热推荐:旷达科技董秘回复:芯投微合肥工厂建设中,设备采购按规划实施
2022-12-28 14:33:41
环球观察:全聚德跌逾4% 提示风险、收关注函后 公司董事长辞职
2022-12-28 10:52:32
葡萄和冬枣含什么糖?-时讯
2022-12-28 06:30:44
2023北京高考第一次小语种考试需要抗原检测吗?
2022-12-27 19:07:11
12月27日三诺生物涨7.41%,睿远成长价值混合A基金重仓该股
2022-12-27 15:10:39