IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python办公自动化实例(三):批量修改文件名、创建文件夹 -> 正文阅读

[Python知识库]python办公自动化实例(三):批量修改文件名、创建文件夹

场景:整理一批文件,发现文件命名不够规范,想要重新命名,但文件很多,人工操作,过程繁复,这时候就可以使用程序来代替人工处理了。

实现效果:

其中,新文件名可根据我们想要的命名规范自行输入表格,然后由程序提取新文件名并自动批量冲命名文件。

代码如下:

#!user/bin/python3
# _*_ coding:utf-8 _*_
# author TingXiao-UI
import os
import xlsxwriter as xw
import xlrd#只读excel

#提取文件名到表格
def getName(rp):
	print("开始提取文件名!")
	# 创建excel
	xlsxName ='批量命名.xlsx'
	workbook = xw.Workbook(xlsxName)
	sheet1 = workbook.add_worksheet('sheet1')
	row_0 = ['ID','旧文件名','新文件名']
	sheet1.write_row('A1', row_0)
	#遍历文档,批量提取文件名并写入到表格
	m = 0
	for root,dirs,files in os.walk(rp+'\\文件'):
		for file in files:
			curName = os.path.join(file)
			# curPath = os.path.join(root,file)
			m += 1
			# 序号
			sheet1.write(m,0,m)
			# 旧文件名
			sheet1.write(m,1,curName)
			# 新文件名

	workbook.close()#关闭excel后台运行
	print("文件名提取完毕!")
#批量重命名
def reName(rp):
	# 打开文档
	xlsxName = '批量命名.xlsx'
	file = xlrd.open_workbook(rp+'\\'+xlsxName)  # xlrd模块
	sheet1 = file.sheet_by_index(0)
	rows = sheet1.nrows#获取行数
	# sheet1.row_values(0, 6, 10)  # 取第1行,第6~10列(不含第10表)
	# sheet1.col_values(0, 0, 5)  # 取第1列,第0~5行(不含第5行)
	# sheet1.row_slice(2, 0, 2)  # 获取单元格值类型和内容
	# sheet1.row_types(1, 0, 2)  # 获取单元格数据类型
	oldNames = sheet1.col_values(1,1,rows+1)#取第1列,第0~rows+1行(不含第rows+1行)
	newNames = sheet1.col_values(2,1,rows+1)#取第2列,第0~rows+1行(不含第rows+1行)
	#遍历文档,批量重命名
	for root,dirs,files in os.walk(rp+'\\文件'):
		for file in files:
			curName = os.path.join(file)
			curPath = os.path.join(root,file)
			id = oldNames.index(curName)#获取索引
			newname = newNames[id]
			newPath = os.path.join(root,newname)
			# 新文件名
			os.rename(curPath, newPath)  # 用os模块中的rename方法对文件改名
if __name__=='__main__':
	rootPath = os.getcwd()#获取当前文件路径
	# getName(rootPath)#提取文件名
	reName(rootPath)#批量重命名

批量创建文件夹也简单,实现效果如下所示

?代码如下:

#!user/bin/python3
# _*_ coding:utf-8 _*_
# author TingXiao-UI
import os
import xlsxwriter as xw
import xlrd#只读excel

#提取文件名到表格
def getName(rp):
	print("开始提取文件名!")
	# 创建excel
	xlsxName ='批量命名.xlsx'
	workbook = xw.Workbook(xlsxName)
	sheet1 = workbook.add_worksheet('sheet1')
	row_0 = ['ID','旧文件名','新文件名']
	sheet1.write_row('A1', row_0)
	#遍历文档,批量提取文件名并写入到表格
	m = 0
	for root,dirs,files in os.walk(rp+'\\文件'):
		for file in files:
			curName = os.path.join(file)
			# curPath = os.path.join(root,file)
			m += 1
			# 序号
			sheet1.write(m,0,m)
			# 旧文件名
			sheet1.write(m,1,curName)
			# 新文件名

	workbook.close()#关闭excel后台运行
	print("文件名提取完毕!")
#批量创建文件夹
def createFolder(rp,name):
	# 打开文档
	xlsxName = name
	file = xlrd.open_workbook(rp+'\\'+xlsxName)  # xlrd模块
	sheet1 = file.sheet_by_index(0)
	rows = sheet1.nrows#获取行数
	# sheet1.row_values(0, 6, 10)  # 取第1行,第6~10列(不含第10表)
	# sheet1.col_values(0, 0, 5)  # 取第1列,第0~5行(不含第5行)
	# sheet1.row_slice(2, 0, 2)  # 获取单元格值类型和内容
	# sheet1.row_types(1, 0, 2)  # 获取单元格数据类型
	folderNames = sheet1.col_values(0,1,rows+1)#取第1列,第2~rows+1行(不含第rows+1行)
	if len(folderNames)>1:
		#批量创建合并文件夹
		for folder in folderNames:
			curPath = rp+'\\'+folder
			if os.path.exists(curPath) is False:
				os.mkdir(curPath)
if __name__=='__main__':
	rootPath = os.getcwd()#获取当前文件路径
	xlsxName = '文件夹.xlsx'
	createFolder(rootPath,xlsxName)##批量创建文件夹

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:19:02  更:2022-04-09 18:21:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:35:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码