使用Python批量筛选上千个Excel文件中的某一行数据并另存为新Excel文件(上篇)
回复“书籍”即可获赠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学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~~
-
远洋集团董事会变更:中国人寿支持力度再加强
2023-06-26 -
俄罗斯卢布对美元、欧元汇率下跌后回调|观速讯
2023-06-26 -
全球速看:殷若宁首夺女子高尔夫大满贯冠军 成功接棒冯珊珊
2023-06-26 -
当前速讯:广州职工医保住院报销比例是多少 广州职工医保住院起付标准2023
2023-06-26 -
唐朝著名番将:功劳仅在郭子仪、李光弼之下,亲手解散了安史之乱
2023-06-26 -
文明画廊②:争当德智体美劳全面发展的新时代好儿童
2023-06-26 -
以语言为桥 让世界更好了解中国
2023-06-26 -
用市场竞争力的“标杆”,看“专精特新”企业如何更上一层楼? 天天即时
2023-06-26 -
【天天聚看点】6月26日黄金期货走势分析:进一步反弹似乎遇到阻力
2023-06-26 -
全球热点评!美国药物滥用再致惨案!8个月婴儿服用芬太尼过量死亡 其父母被捕
2023-06-26 -
全球通讯!宝马准备利用卡通形象取代传统视觉效果
2023-06-26 -
环球快播:机动战士高达:水星的魔女 片尾插画 (第二十三话)
2023-06-26 -
一建啥时候网上报名2023
2023-06-26 -
全球球精选!厚积薄发绘新景——临潭县冶力关创建国家5A级旅游景区侧记
2023-06-26 -
wlan流量是什么意思怎么用_wlan流量怎么用
2023-06-26 -
赵薇和黄晓明什么关系_黄晓明喜欢赵薇
2023-06-25 -
暗黑破坏神4盘绕之缚任务怎么做 全球视点
2023-06-25 -
全南县税务局:税收助力当地产业加速融湾
2023-06-25 -
胜利街道推进垃圾分类与文明服务 环球短讯
2023-06-25 -
环球通讯!单月销量超比亚迪秦PLUS DM-i,是谁还在买日产轩逸?
2023-06-25 -
天天热点评!曾出演武将“赵子龙”,娶陈佩斯亲妹患病不离弃,对待岳父似亲儿
2023-06-25 -
宋维强
2023-06-25 -
@松江宝妈,孩子“社恐”,怎么办?丨健康智慧屋 全球速看料
2023-06-25 -
广东省2023年普通高校招生录取最低分数线
2023-06-25 -
端午连假澎湖县旅客爆满创新高 绿岛用电量刷新纪录|新资讯
2023-06-25 -
上交所公布中报预约披露情况 康缘药业率先披露 当前时讯
2023-06-25 -
今日热议:端午档总票房超9亿,《消失的她》领跑
2023-06-25 -
烟雨“江湖”-天天热点评
2023-06-25 -
当前视点!excel调用另一个表中对应的数值(excel怎么调用另一个表数据)
2023-06-25 -
最新消息:端午假期 成都新能源汽车销售火热
2023-06-25
-
守住网络直播的伦理底线
2021-12-16 -
石窟寺文化需要基于保护的“新开发”
2021-12-16 -
电影工作者不能远离生活
2021-12-16 -
提升隧道安全管控能力 智慧高速让司乘安心
2021-12-16 -
人民财评:提升消费体验,服务同样重要
2021-12-16 -
卫冕?突破?旗手?——武大靖留给北京冬奥会三大悬念
2021-12-16 -
新能源车险专属条款出台“三电”系统、起火燃烧等都可保
2021-12-16 -
美术作品中的党史 | 第97集《窗外》
2021-12-16 -
基金销售业务违规!浦发银行厦门分行等被厦门证监局责令改正
2021-12-16 -
保持稳定发展有支撑——从11月“成绩单”看中国经济走势
2021-12-16