回复“书籍”即可获赠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爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日...
一直以来,资本市场都是区域经济和社会发展的重要推动力量,上市公司则是一座城市核心竞争力的重要风向...
乐居财经讯1月3日,截至收盘,恒生指数涨1 84%,报收0 00点。 港股物业股板块收盘跌幅位居前十...
2023国考1月7日—8日举行。报考者可于2023年1月3日0:00至1月8日15:00期间,登录“中央机关及其直属机构
1月3日,地产板块盘中冲高。截至10:21,权重股保利发展(行情600048,诊股)涨3 97%,盘中一度涨5 62%;...
据媒体报道,近日,教育部、公安部、市场监管总局联合部署开展的艺考培训机构专项治理行动取得阶段性进...
当地时间12月31日晚,缅甸国防军司令部发表声明,宣布将自2023年1月1日起至12月31日停火一年。声明中称...
据大公报报道,据韩联社报道:韩国首尔2022年12月31日将重启标志性的首尔普信阁新年敲锺仪式,预计约10...
合作违约金合同范本第一篇甲方:乙方:xxx文化传播有限责任公司(以下简称“公司”)成立于2012年4月1日...
虽说王思聪表面看来“吊儿郎当、无所事事”,但他的生活岂是一般人可以猜透的,看似风流成性,但实则每...
在过去的十多年里,智能手机可以说是发展最迅速的一款智能产品。之所以造就了智能手机的蓬勃发展,这离...
12月30日,南方军工改革灵活配置混合A最新单位净值为1 5051元,累计净值为1 5051元,较前一交易日下跌...
宜在5月中旬至7月中旬和9月中旬至10月中旬进行。此耐新梢已停止生长,枝条含养分较多,其分生组织分生髓...
证券时报网讯,12月29日,国家药监局根据《药品管理法》相关规定,按照药品特别审批程序,进行应急审评...
证券时报e公司讯,据中汽协整理的海关总署数据显示,2022年11月,与上月相比,汽车商品进、出口金额均呈...
格隆汇12月30日丨众安智慧生活(02271 HK)发布公告,公司拟全球发售约1 27亿股股份,其中中国香港发售...
格隆汇12月29日丨侨源股份(301286 SZ)公布,近日,四川侨源气体(300646)股份有限公司之全资子公司阿坝...
新旧光阴各自催,又是一年岁末时。不知不觉,一年一度的腊八节就要到了!这一天,不论南北方,家家户户...
付费课程|支持开票|购前咨询微信372335839概览为何要学Python?在科学研究中,数据的获取及分析是最重要...
细节决定成败的句子精选83句1 什么是不简单?把每一件简单的事情做好就是不简单;什么是不平凡?把每一件...
X 关闭
X 关闭