回复“书籍”即可获赠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学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~~
中原网讯(记者于露刘梦琳通讯员李学莉汤永浩)电影是浓缩的艺术表现形式
根据微软自己的说法:MicrosoftValidationOS是一种轻量级、快速且可自
又有A股公司实控人被留置。7月3日早盘,国内医疗健康信息化解决方案的
一、长沙至岳阳旅游价格是多少钱坐高铁出发的话,从长沙南到岳阳东是30
摘要:2023年07月03日邦彦技术(688132)换手率大于8%,主力资金净流出
你们好,最近小活发现有诸多的小伙伴们对于卡通车简笔画图片大全,卡通
吉林市养殖的手续流程吉林市养殖的手续流程包括以下几个步骤:申请人需
2023年四川养老金上调方案今日还未公布。自2023年5月22日人社部下发202
1、你好。2、如果是自己弄伤的话没有等级的如果是工伤的话也没有等级的
1、国际快递有很多,国内主流的有DHL UPS TNT 易起运等等很多的。2、哪
6月29日至7月2日,三亚市旅游发展局连续第4年来到成都,面向旅业和市民
据美联社报导,以色列国防部7月2日宣布,以色列将从美国购买25架F-35战
2023杭州中考第二批录取分数线公布第一批最低录取控制分数线为511分。
噩耗突然传来。 胡德霖突然离世,或许意味着,江苏豪门“父子内斗”落
1、迅捷流程图制作软件就可以在线画流程图,而且在线画流程图的方法有
图为6月30日,该局幸福监管所检查人员对食品进行抽查。食品安全无小事
2023年7月3日8:57 来源:重庆日报
“我们公司13个沿街门店全部参加晚报发起的‘关爱从一杯水开始’公益活
中央气象台7月3日06时继续发布暴雨蓝色预警:预计,7月3日08时至4日08
1、《文言文全解一本通》是2020年山东人民出版社出版的图书,作者是梁
中国置业投资(00736)发布公告,于2020年6月1日,公司全资附属公司上海祥宸
歌力思 小而美的多品牌时装集团逆势拓张彰显信心 东北证券6月30
中评社北京7月3日电(记者 李子宁 海涵 助理记者 徐媛 赵海欣
7月1日是党的生日。党员是党的肌体的细胞,如何做一名合格的共产党员?
1、气液增压泵工作原理类似于压力增压器,对大径空气驱动活塞施加一个
本文讨论的话题是汽车的开窗通风。本文基于CFD对小轿车在不同开窗情况
定西市始终把大力培育乡村工匠、发展庭院经济作为人才振兴、产业振兴的
大河网讯小井盖,大民生。自2021年河南省城市公共区域窨井盖专项整治三
7月2日,新强联公告,因财务资料过期,深交所中止审核新强联拟收购洛阳
据悉,在萨卡里之前,唯一进入过女单世界前20的希腊女球员是埃莱尼·达
Copyright © 2015-2032 潇湘服装网版权所有 备案号:琼ICP备2022009675号-41 联系邮箱: 435 227 67@qq.com