盘点一个Python自动化办公实战问题

news/2024/11/16 23:34:43/文章来源:https://www.cnblogs.com/dcpeng/p/18406219

大家好,我是Python进阶者。

一、前言

前几天在Python白银交流群【上海新年人】问了一个Python自动化办公实战的问题,问题如下:大佬们,我有个难度高的问题,我有个文件夹,里面呢有一堆文件,然后我要寻找至少2个关键字相同的文件,然后提取文件中第二列中的数字,第一列名称保留,譬如图片中,只要是有马桥这两个字,就分别打开这两个文件,形成新的文件,第二列的数据,依次放在B列C列这样子。

image.png

直接把问题和文件,截图等都给全盘托出了,不过咋一看,这个问题确实有点复杂,看文字确实不明所以。后来【瑜亮老师】要求他发语音补充下问题信息。

image.png

二、实现过程

这里继续补充下粉丝的需求:大哥们是这样子,就是说文件里面不是有很多文件嘛,然后呢,原先呢,等于说是他这个文件名字呢,当时取的比方说是一月份马桥,两月份马桥,三月份马桥。然后呢,我只要找到有马桥这两个字的就是文件,然后分别打开,然后呢,取第二列的那个数字。然后呢,就是新形成一个新的文件,把第二列的数字呢,放在新文件那个里面的第二列,第三列,第四列第五列,这样依次排列,这样子方便我看他这个每个月的数字的有有哪些不同。

然后呢,第一列我是保留的,因为第一列等于说里面文件当中的第一列都是相同的,然后呢,我只取要我只是我只需要提取一次就可以了,等于说第一列等于说是名字都一样的。

语音补充后确实清晰很多了,这里【瑜亮老师】给了一个具体的实现方法,具体如下所示:

image.png

对文件名中月份和报告前面的文字提取一下,相同的就把数据横向合并为两行。全部马桥的拼接一个excel文件,全部砖桥的拼接一个excel文件,如果你有全部的这些地名的列表,做起来会更简单,如果地名不多,可以手动写个列表,把地名保存到里面。如果地名有很多,那可以用代码提取一下。

image.png

【上海新年人】:不是,就是能不能用这种形式,譬如文件名[2:5],只要是2:5完全相同就合同在一起,合并在一起,然后能不能用pandas中的concat。

【瑜亮老师】:也可以,但是你要保证地名长度符合切片取值的范围。例如你举例是2:5,取3个字符,就要保证这三个字符能够涵盖所有的分类。

【上海新年人】:对呀,譬如2月马桥,3月马桥,我只取第2-4中的马桥这两字,然后用concat能行吗?好久没用pandas,忘记了怎么用法

【瑜亮老师】:可以的。最终还是遍历文件名,然后分类,读取文件,把df添加进数据列表中,然后concat合并列表,to_excel。

【上海新年人】:用if怎么用法?每个file_name[2:4]要完全相同!

for file_name in file_names:if file_name[2:4] = ?

【瑜亮老师】:不能这么写,存储格式最好是用{“file_name[2:4]”:[df1,df2]}这样的。

image.png

【上海新年人】:我不要这么找法!

【瑜亮老师】:具体实现如下:

image.png

【上海新年人】:stem代表什么?

【瑜亮老师】:文件名,不包括扩展名的文件名,你也可以用file.name,意思是包含扩展名的文件名。但是这里都是不影响结果的。用哪个都行。

【上海新年人】:哦,我验算下

image.png

【瑜亮老师】:这里切片只取了2个字符,如果你的文件名中的地名长度超过2个字符,就会出现问题。要么数据出现混乱,要么生成的文件名不对。比如马新桥,切片只能提取出来马新。主要是数据少,只能按照你给的数据写出代码。

【上海新年人】:瑜亮老师,上面的代码可行的,思路不错,谢谢瑜亮老师!!难点在于那个字典那个操作,琢磨了好久。

image.png

顺利地解决了自己的问题。

如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答!

三、总结

大家好,我是Python进阶者。这篇文章主要盘点了一个Python自动化办公实战的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【上海新年人】提出的问题,感谢【瑜亮老师】给出的思路,感谢【莫生气】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。
image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/794919.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

路由相关

路由分发研究django admin源码时:namespace是什么?无namespace from django.urls import reverseurl = reverse("v2") print(url)有namespace from django.urls import reverseurl = reverse("namespace名称:v2") print(url)url = reverse("namespa…

CS上线Linux

CS上线Linux下载和配置crossC2首先到项目地址:https://github.com/gloxec/CrossC2/releases下载两个文件 ​​‍.cna是CS的插件,直接使用CS导入即可 ​​ 创建HTTPS监听器似乎Linux的shell目前只支持https​,所以创建HTTPS监听器 ​​ 生成Linux终端的shell木马 第一种 ./ge…

说文解字的各种版本总结以及常用的说文解字相关学习网站推荐

《说文解字》内容共十五卷,以小篆为研究对象,同时参照小篆以外的古文、籀文,其中一至十四卷为文字解说,十五卷为叙目,每卷都分上下两篇,实为三十卷。共收字头9353个,重文(古文、异体等)1163个,字头以小篆为准,兼有古文、籀文等异体。《说文解字》‌是中国乃至世界第…

P7230 [COCI2015-2016#3] NEKAMELEONI

单侧递归有点小牛的这个做法与 \(k\) 无关。 非常好常数,爱来自 Hanghang。 Hanghang 给出了一个空间 \(O(n)\),常数很小,代码很短的单侧递归做法。 我们考虑维护哪些区间是不符合要求的,对于一个数 \(a_x\),下一个 \(a_x\) 下标是 \(d_x\),则满足 \(x<l\le r<d_x\…

Docker 容器与数据卷

卷就是目录或文件,存在于一个或多个容器中,由 Docker 挂载到容器,提供一些用于持续存储或共享数据的特性上一篇启动 registry 的时候,用了 -v 和--privileged 参数,本文就讲解这两个参数的含义 ‍ privileged 参数 在 CentOS7 中,安全模块会比之前系统版本加强,不安全的…

FALCON:打破界限,粗粒度标签的无监督细粒度类别推断,已开源| ICML24

在许多实际应用中,相对于反映类别之间微妙差异的细粒度标签,我们更容易获取粗粒度标签。然而,现有方法无法利用粗标签以无监督的方式推断细粒度标签。为了填补这个空白,论文提出了FALCON,一种从粗粒度标记数据中无需细粒度级别的监督就能发现细粒度类别的方法。FALCON同时…

大模型应用开发实战

https://www.cnblogs.com/yubaolee/p/18390767 在接触AI应用开发的这段时间,我以为会像以前学.net,学java,学vue一样。先整个hello world,再一步一步学搭功能,学搭框架直到搭一个系统出来。然而,理想总是很丰满,现实很骨感。在实践的过程中各种千奇百怪的问题:概念太多…

服务器系统安装

环境:1.Windows环境:Windows11    2.Linux环境:Ubuntu-22.04    3.U盘厂商:Kingston    4.rufus版本:rufus-4.5    5.ventoy版本:ventoy-1.0.99 一、使用rufus制作引导盘1.下载rufus因为我的操作系统是win11,所以我需要到rufus官网下载rufus-4.5.exe,你…

在 Web 中判断页面是不是刷新

在 Web 开发中,我们经常需要区分用户是否通过刷新操作重新加载了页面。这一操作可能是由用户手动刷新(如按下 F5 键或点击浏览器刷新按钮)或通过浏览器自动重新加载。判断页面是否刷新有助于开发者优化用户体验,例如在使用 vue 的时候需要进行权限控制,就需要判断在刷新后…

【整理】【java开发】JavaWeb之JSP、Cookie、Session(一)

一、JSP介绍及原理1.1 JSP简介1.2 JSP简单入门1.3 JSP原理介绍二、JSP脚本2.1 JSP 脚本形式2.2 JSP EL表达式2.3 JSP JSTL标签三、会话跟踪技术3.1 Cookie3.2 Session原创 0xNvyao 安全随笔声明 请勿利用本公众号文章内的相关技术、工具从事非法测试,如因此造成一切不良后果与…

功率电感的额定电流

功率电感的额定电流 功率电感的各参数:两个额定电流Isat , Irms 如何理解? 功率电感一般分为以下四种外形(如图)。而在DC/DC升压降压电路中,电感是仅次于IC的最核心元器件。 选择好的功率电感,可获得较高的转换效率。功率电感的选型,一般需要参考以下几个参数:L(电感值),…