Python读取word中的图片并按照一定顺序进行命名

news/2024/7/19 9:47:57 标签: 爬虫, 数据分析, 数据挖掘, python

图片命名顺序在一张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)

http://www.niftyadmin.cn/n/1224035.html

相关文章

蓝桥杯题目练习(数列特征)

基础练习 数列特征 问题描述 给出n个数&#xff0c;找出这n个数的最大值&#xff0c;最小值&#xff0c;和。 输入格式 第一行为整数n&#xff0c;表示数的个数。 第二行有n个数&#xff0c;为给定的n个数&#xff0c;每个数的绝对值都小于10000。 输出格式 输出三行&#…

蓝桥杯题目练习(字母图形)

基础练习 字母图形 问题描述 利用字母可以组成一些美丽的图形&#xff0c;下面给出了一个例子&#xff1a; ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形&#xff0c;请找出这个图形的规律&#xff0c;并输出一个n行m列的图形。 输入格式 输入一行&a…

sql将表格中的一列放到另一表格

利用SQL语句实现将一个表格中的一列放入另一个表格的一列&#xff0c;其中包括将两列内容进行合并并放进另一表格的操作。 NSERT INTO sys_dept_copy1 ( dept_id,parent_id,ancestors,dept_name,dist_code) SELECT #上面是目标表格&#xff0c;目标列 下面是原始列city_cod…

蓝桥杯题目练习(01字串)

基础练习 01字串 问题描述 对于长度为5位的一个01串&#xff0c;每一位都可能是0或1&#xff0c;一共有32种可能。它们的前几个是&#xff1a; 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串。 输入格式 本试题没有输入。 输出格式 输出32行&#x…

批量创建文件夹的方法

1、首先在excel表中创建好如下格式的内容&#xff0c;其中md后面要加上空格&#xff0c;空格后即为文件夹名称&#xff08;也可以跳过这一步&#xff0c;直接在txt文件里写&#xff0c;但是会麻烦很多&#xff09; 2、将上面的文件复制&#xff0c;放到新建的TXT文件中 3、将T…

蓝桥杯题目练习(闰年判断 )

基础练习 闰年判断 问题描述 给定一个年份&#xff0c;判断这一年是不是闰年。 当以下情况之一满足时&#xff0c;这一年是闰年&#xff1a; 年份是4的倍数而不是100的倍数&#xff1b; 年份是400的倍数。 其他的年份都不是闰年。 输入格式 输入包含一个整数y&#xff0c…

python编写时间线柱状统计图(可自动播放)

使用的模块为pyecharts&#xff0c;需要提前安装 代码内容如下&#xff1a; from pyecharts.charts import Bar, Timeline from pyecharts.options import LabelOpts from pyecharts.globals import ThemeType# bar Bar() # # bar.add_xaxis(["America", "Chi…

蓝桥杯题目练习(阶乘计算)

基础练习VIP 阶乘计算 题目描述 输入一个正整数n&#xff0c;输出n!的值。 其中n!123*…*n。 算法描述 n!可能很大&#xff0c;而计算机能表示的整数范围有限&#xff0c;需要使用高精度计算的方法。使用一个数组A来表示一个大整数a&#xff0c;A[0]表示a的个位&#xff0c…