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

Python进阶者
• 阅读 348

大家好,我是Python进阶者。

一、前言

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

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

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

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

二、实现过程

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

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

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

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

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

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

【上海新年人】:不是,就是能不能用这种形式,譬如文件名[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自动化办公实战问题

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

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

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

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

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

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

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

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

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

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

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

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

三、总结

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

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

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

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
2年前
盘点一个Python自动化办公的实战案例(word文件处理)
大家好,我是Python进阶者。一、前言前几天在Python铂金交流群【JethroShen】问了一个Python自动化办公的问题,提问截图如下:!(https://uploadimages.jianshu.io/upload_
Python进阶者 Python进阶者
2年前
我怎么把拆分好的pdf保存在我创建的新文件夹里?
大家好,我是皮皮。一、前言前几天在Python白银交流群【FN】问了一个Python自动化办公的问题,提问截图如下:!(https://uploadimages.jianshu.io/upload_images/26239789
Python进阶者 Python进阶者
1年前
盘点一个Python自动化办公的问题——批量实现文件重命名(方法一)
大家好,我是皮皮。一、前言前几天在Python最强王者群【维哥】问了一个Python自动化办公处理的问题,一起来看看吧。大佬们,请教一个Python自动化办公的问题,我有一个名为data的文件夹,下面有这4个Excel文件。然后还有一个原始数据.xlsx表
Python进阶者 Python进阶者
1年前
盘点一个Python自动化办公的问题——批量实现文件重命名(方法二)
大家好,我是皮皮。一、前言前几天在Python最强王者群【维哥】问了一个Python自动化办公处理的问题,一起来看看吧。大佬们,请教一个Python自动化办公的问题,我有一个名为data的文件夹,下面有这4个Excel文件。然后还有一个原始数据.xlsx表
Python进阶者 Python进阶者
1年前
盘点一个Python自动化办公Excel数据填充实战案例(上篇)
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,一起来看看吧。有个表格,里面每行信息,如下图所示:现在需要将数据贴到另一个文件指定单元格中,另一个文件是这样子的。下图是他的原始数据和他想得到的目标
Python进阶者 Python进阶者
10个月前
盘点一个Python自动化办公的需求——一键批量插图到Excel指定单元格
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,问题如下:大佬们,昨天我在做插入excel图片的时候想起一个需求,好像挺难办的,也蛮现实的。比如每个图片是有名称的,但在做excel的时候,能不能按
Python进阶者 Python进阶者
9个月前
Pandas一行中满10个字符就自动换行?
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas处理数据的问题。问题如下:大佬们,有个需求,某一列中,有些单元格中数字太多,比如有20个字符,太难看了,有没有办法,满10个字符就自动换行!用了这个:s
Python进阶者 Python进阶者
7个月前
python读取一个文件里面几百个csv数据集然后按照列名合并一个数据集
大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【FiNε】问了一个Python自动化办公,问题如下:python读取一个文件里面几百个csv数据集然后按照列名合并一个数据集。二、实现过程这里【隔壁😼山楂】给了一个解答,如下图所
Python进阶者 Python进阶者
5个月前
盘点一个Python自动化办公的问题
大家好,我是Python进阶者。一、前言前几天在Python铂金交流群【逆光】问了一个Python自动化办公的问题,问题如下:问题我现在有两个表a、b,for循环a、b,如果a的条件满足b,则把b的值赋给a,目前a有7万条数据,b有300条。我写的代码20
Python进阶者 Python进阶者
5个月前
Python代码解压的中文文件名是乱码,怎么解决?
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【fashjon】问了一个Python自动化办公的问题,问题如下:importzipfiledefunzipfile(zipfilepath,outputfolderpath):with