Python读取word中的图片并按照一定顺序进行命名
图片命名顺序在一张excel的第一列
先爬取word中的所有图片
接着创建图片序列名称字段
遍历文件夹中的图片进行重命名
import docx
import os, re
import xlwt
import openpyxl
from openpyxl import Workbook, workbook
from openpyxl import load_workbook
import zipfile
import shutil
# 读取命名前缀到nameex
wb = load_workbook('图片顺序.xlsx')
ws = wb['Sheet1'] # sheet名称
sheet = wb.active
a = sheet.max_row
nameex = []
i = 0
while i < a:
i = i + 1
nameex.insert(i, ws.cell(i, 1).value)
nameend = ['001', '002', '003', '004']
doc_path = 'word_path/test.docx' #在这里更换你想要的路径
img_path = 'allpictures/' #在这里更换你想要的路径
os.makedirs(img_path, exist_ok=True)
doc = zipfile.ZipFile(doc_path)
img_list=[]
img_list_error=[]
for info in doc.infolist():
if info.filename.endswith((".png", ".jpeg", ".gif")):
doc.extract(info.filename, img_path)
img_list_error.append(info.filename)
print(img_list_error)
path1 = "allpictures/word/media"
filelist1 = os.listdir(path1)
total_num = len(filelist1)
for m in range(total_num+1):
image_name="image"+str(m)+".jpeg"
img_list.append(image_name)
print(img_list)
path = r"allpictures\word\media"
j = 0
k = 0
for item in img_list:
if item.endswith('.jpeg'):
project_name = nameex[j]
fid = nameend[k]
img_name = f'{project_name}_{fid}.jpeg'
src = os.path.join(os.path.abspath(path), item)
dst = os.path.join(os.path.abspath(path), img_name)
try:
os.rename(src, dst)
k = k + 1
if (k > 3):
k = 0
j = j + 1
except:
print(project_name)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理