Python轻办公——批量更改文件名、输出未完成名单

🥝🥝统一收集整理文件时,经常会遇到有人没有按照标准格式命名文件,一个一个改费时又头疼,我们可以利用Python代码对文件名称进行批量改名处理,输出未完成人员名单

展示介绍

实现功能介绍

将文件夹内所有不规范文件名统一改成计算(3+4)_学号_姓名的形式
(文件命名中应至少包含人名)

🍊修改前:
在这里插入图片描述
🍊修改后:
在这里插入图片描述
🍊输出未完成名单(此处仅有一人未完成):
在这里插入图片描述

整体代码展示(👈👈需要全部代码直接点击这里)

import xlrd2
import os

#  打开excel,所有姓名所在文件
data_excel = xlrd2.open_workbook('D:\\文件\\花名册.xls')

#  获取book中的sheet工作表的三种方法,返回一个xlrd.sheet.Sheet()对象 
#  table = data_excel.sheets()[0]      通过索引顺序获取sheet
#  table = data_excel.sheet_by_index(sheetx=0)      通过索引顺序获取sheet
table = data_excel.sheet_by_name(sheet_name='Sheet2')    # 通过名称获取

#  返回某列中所有单元格的数据组成的列表,获得姓名列表
cols_name = table.col_values(1,start_rowx=1,end_rowx=None)      #  参数1表示第几列,以0开始;start_rowx表示起始行;end_rowx表示结束行,None表示以识别到空单元格结束
#  返回某列中所有单元格的数据组成的列表,获得学号列表
cols_no = table.col_values(0,start_rowx=1,end_rowx=None)

#  获得作业文件列表
filepath = 'C:\\Users\\清明\\Desktop\\计算3+4软件测试'
list_name = os.listdir(filepath)

#  os默认处理当前项目目录下文件,重新设定处理目录,防止出现文件找不到
os.chdir(filepath)

#  os默认处理当前项目目录下文件,重新设定处理目录,防止出现文件找不到
os.chdir(filepath)

for i in range(len(cols_name)):		#  从头同时遍历姓名和学号
    for work in list_name:				
        if cols_name[i] in work:		#  文件名中是否包含当前学生姓名
            os.rename(work,"计算(3+4)_"+str(cols_no[i])+'_'+str(cols_name[i])+".pdf")

print('未完成名单:')
tag = 0
for name in cols_name:
    for work in list_name:
        if name in work:
            break
    else:           #  for执行完执行else,break不会执行
        print(name)

代码实现步骤

模块安装

🍉本次我们需要导入os、xlrd2两个模块,需要预先对其安装(二选一即可
1.WIN+R、输入cmd进行命令工具,输入pip install xlrd2安装模块(os为Python内置模块,无需安装)
2.Pycharm环境下,通过File > Settings > Project:pythonProject > Python Interpreter,点击小加号,输入xlrd2,点击Install Package进行安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模块使用(✍✍代码编写)

🍇1.导入模块

import xlrd2
import os

🍌2.创建一个excel文件,第一列输入学号,第二列输入姓名,用于程序获取数据为文件命名

在这里插入图片描述

🍊3.获取excel的姓名、学号列表

#  打开excel,所有姓名所在文件
data_excel = xlrd2.open_workbook('D:\\文件\\3+4\\花名册.xls')

#  获取book中的sheet工作表的三种方法,返回一个xlrd.sheet.Sheet()对象
#  table = data_excel.sheets()[0]      通过索引顺序获取sheet
#  table = data_excel.sheet_by_index(sheetx=0)      通过索引顺序获取sheet
table = data_excel.sheet_by_name(sheet_name='Sheet2')    # 通过名称获取

# 返回某列中所有单元格的数据组成的列表,获得姓名列表
cols_name = table.col_values(1,start_rowx=1,end_rowx=None)      #  参数1表示第几列,以0开始;start_rowx表示起始行;end_rowx表示结束行,None表示以识别到空单元格结束
# 返回某列中所有单元格的数据组成的列表,获得学号列表
cols_no = table.col_values(0,start_rowx=1,end_rowx=None)

🍎4.获取修改目标文件夹下的所有文件

#  获得作业文件列表
filepath = 'C:\\Users\\清明\\Desktop\\计算3+4软件测试'
list_name = os.listdir(filepath)

🍈5.修改os默认处理目录为目标目录,否则执行报错找不到文件!

#  os默认处理当前项目目录下文件,重新设定处理目录,防止出现文件找不到
os.chdir(filepath)

🍒6.遍历修改文件名,不要忘记添加后缀

#  os默认处理当前项目目录下文件,重新设定处理目录,防止出现文件找不到
for i in range(len(cols_name)):
    for work in list_name:
        if cols_name[i] in work:
            os.rename(work,"计算(3+4)_"+str(cols_no[i])+'_'+str(cols_name[i])+".pdf")     #  一定不要忘记添加后缀

🍌7.输出未完成名单

print('未完成名单:')
tag = 0
for name in cols_name:
    for work in list_name:
        if name in work:
            break
    else:           #  for执行完执行else,break不会执行
        print(name)

🍓8.执行原理

(1)文件名修改

在这里插入图片描述
(2)输出名单
在这里插入图片描述

如何修改参数(🤏🤏需要修改哪些参数拿捏代码?)

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Insight.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值