python爬虫自动化,解放双手不再成为梦想?

今天我们来看下如何批量修改名称。这个需求在工作中比较常见的,日常生活中可能也有此类需求,比如,打包下载了一部连续剧或有声读物,每个文件名却被加上了网址、网站名称,还有一些莫名其妙的符号,整得特别长,播放器走马灯滚动标题的话,有时根本看不到已经播到第几回了,改名自然提上日程。动辄200回的有声书,手工修改肯定效率低下,这里我们还是尝试用python解决。

业务需求
还是总公司销售管理岗,昨天批量建立11月各分公司的销售数据文件夹后,忽然觉得每个文件夹后面的“分公司”三个字多余,因为这本来就是保存分公司资料的文件夹,不加也没啥歧义,所以希望删除各文件夹后面的“分公司”三字。注意“202011”里除各分公司文件夹外,还有一些单独的文件,这部分是不能动的。

准备事项
已安装Python3.8或3.9
安装openpyxl第三方库 ※最下方指定改名时会用到
python安装及环境配置可参考 ⇒ kin toms:Python办公自动化–Python环境配置

实现代码

删除文件夹中的“分公司”
import os

path = 'D:/销售数据/202011/'

for file in os.scandir(path):
    if file.is_dir() == True:
        os.rename(file.path,file.path[:-3])

在这里插入图片描述

效果图:文件夹名称删除“分公司”

  1. 为文件夹名称增加“分公司”三字

把“分公司”三字删除后,Boss第二天便找来问为啥把名字改了,指示不要轻易改变之前的规则,于是还需要把文件夹名称改回去,同样用python,代码如下

import os

path = 'D:/销售数据/202011/'

for file in os.scandir(path):
    if file.is_dir() == True:
        os.rename(file.path,file.path+'分公司')
        

在这里插入图片描述

效果图:文件夹名称加“分公司”

  1. 删除文件名称中的数字后缀

这次觉得同文件夹下的几个单蹦文件后面的数字没啥用,希望删除,代码如下

import os

path = 'D:/销售数据/202011/'

for file in os.scandir(path):
    if file.is_dir() == False:
        os.rename(file.path,file.path[:-3])

在这里插入图片描述

效果图:文件名称删后面数字

  1. 给文件名添加一个后缀999
import os

path = 'D:/销售数据/202011/'

for file in os.scandir(path):
    if file.is_dir() == False:
        os.rename(file.path,file.path+'999')

在这里插入图片描述

效果图:文件名称统一加指定字符

  1. 指定修改文件夹名称为任意名称

如果给各省区文件夹加个编号,或者希望修改文件夹名称为指定名称,可以用下面的代码

import os
import openpyxl

path = "D:/销售数据/202011/"  
wb = openpyxl.load_workbook('D:/改名前后参照表.xlsx')
ws = wb['对照表']
row = ws.max_row

for file in os.scandir(path):
    for i in range(2, row + 1):
        if file.is_dir() == True and file.name == ws.cell(i,1).value:
                os.rename(file.path, path + ws.cell(i, 2).value)

改名参照表

在这里插入图片描述

“改名前后参照表”的“对照表”sheet

效果图:修改文件夹名称为指定名称

在这里插入图片描述

结语

即便是python语言中,文件/文件夹改名也有多种方法,这里给出的是我常用的方法,大家可以尝试用一下,特别是最后一个指定改名代码,学完基本可应付大部分改名作业了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值