首页 > 编程语言 >盘点一个Python自动化办公实战问题

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

时间:2024-09-14 16:28:04浏览次数:10  
标签:实战 文件 马桥 新年 文件名 Python 盘点 瑜亮

大家好,我是Python进阶者。

一、前言

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

盘点一个Python自动化办公实战问题_文件名

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

盘点一个Python自动化办公实战问题_文件名_02

二、实现过程

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

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

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

盘点一个Python自动化办公实战问题_文件名_03

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

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

【上海新年人】:不是,就是能不能用这种形式,譬如文件名[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]}这样的。

盘点一个Python自动化办公实战问题_文件名_05

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

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

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

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

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

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

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

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

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

盘点一个Python自动化办公实战问题_数据_08

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

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

三、总结

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

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

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



标签:实战,文件,马桥,新年,文件名,Python,盘点,瑜亮
From: https://blog.51cto.com/u_13389043/12017659

相关文章

  • DuckDB简单使用及Python操作
    DuckDB简介DockDB官网DuckDB是一款开源免费类似Sqlite的嵌入式数据库,支持直接使用内存或单个文件作为数据库。DuckDB着重于数据处理和分析,是一个款OLAP(联机分析处理)类型的数据库,主要特点如下:开源免费,MIT协议功能完善,支持标准SQL、事务、二级索引等高性能,低消耗(内存/文件占用小)灵......
  • 2024年06月中国电子学会青少年软件编程(Python)等级考试试卷(一级)答案 + 解析
    青少年软件编程(Python)等级考试试卷(一级)分数:100 题数:37一、单选题(共25题,共50分)1.在使用turtle绘制图形时,如果要控制小海龟移动到x坐标为200,y坐标为150的位置,以下代码能够实现效果的是?()A.turtle.go(150,200)B.turtle.go(200,150)C.turtle.goto(150,200)D.......
  • 第158天:安全开发-Python-Socket编程&反弹Shell&分离免杀&端口探针&域名爆破
    前置知识使用socket模块1.导入模块首先,你需要导入Python的socket模块。importsocket2.创建套接字使用socket.socket()函数创建一个新的套接字。这个函数可以接收两个参数:地址族和套接字类型。   地址族(AddressFamily):AF_INET用于IPv4,AF_INET6用于IP......
  • Python存储与读写二进制文件
    本文介绍了一种在Python中将Numpy数组转存为一个紧凑的二进制格式的文件,及其使用内存映射的形式进行读取的方案。一个二进制的数据流,不仅可以更加方便页形式的内存映射,相比于传统的Numpy单精度浮点数数组还有一个可哈希的特性。总体来说是一个对于高性能计算十分友好的存......
  • 避免 PyCharm 将该 Python 脚本作为测试运行
    为了避免PyCharm将该Python脚本作为测试运行(即pytest自动捕获),你可以做以下几步来确保该脚本作为普通的Python程序执行,而不是作为pytest运行。解决方案:1.确保文件名不以test_开头:Pytest会自动检测以test_开头的文件,并尝试将其作为测试运行。如果你的文件名是test_m......
  • typer python cli 开发框架
    typer是一个基于pythontypehints的快速强大的cli开发框架,由fastapi框架的作者开发,是一个很不错的工具包含的特性使用简单简单支持开发复杂cli可以执行运行script参考使用安装python-mvenvvenvsourcevenv/bin/activatepipinstalltyper简单使用defmain(name:str):......
  • python数据分析与可视化
    Python是进行数据分析和可视化的强大工具。它提供了丰富的库和框架来帮助数据科学家和分析师处理数据集、执行统计分析以及创建交互式图表。以下是一些常用的库以及它们的基本用法。数据处理库Pandas:Pandas是Python中最流行的数据分析库之一,它提供了数据结构和数......
  • 实战中学习:CMA和DMA_CMA导致安装大游戏失败的问题
     在实际遇到的问题中,遇到Android虚机中安装超过1.8G以上的大游戏APK文件时,就会出现安装失败的现象,通过分析,发现在/data/目录下进行大文件拷贝时,就会出现数据不一致,发现时内核打开了CMA和DMA_CMA,解决方法目前主要回退,将CMA和DMA_CMA的配置关闭现象: 拷贝5次:数据不一致/data/app......
  • 实战分享:我是如何挖到C站漏洞的?
    文章目录前言一、过程二、总结《Windows信息安全和网络攻防》——清华大学出版社前言CxxN是国内很出名的博客平台,用户量非常大,注册用户据说有1个亿?(官方写的)本次我发现的漏洞详情是可以通过用户的id直接获取用户完整的手机号,姓名,性别,出生年月日、毕业院校、就职公......
  • 代数模型(Algebraic Models)---线性规划------+ 案例 + Python源码求解(见文中)
    目录一、代数模型(AlgebraicModels)详解1.1什么是代数模型?1.2代数模型的基本形式1.3安装所需要的Python包--运行下述案例1.4代数模型的应用案例案例1:市场供需平衡模型Python求解代码Python求解结果如下图:案例2:运输问题中的线性规划模型进行数学建模分析1.目标函数2.......