首页 > 其他分享 >更目录下加载图片生成文档插入图片

更目录下加载图片生成文档插入图片

时间:2023-09-26 09:00:23浏览次数:24  
标签:files add 文档 subdir path 图片 os png 加载

import os
from docx import Document
import Pillow
from docx.shared import Inches

# 定义你想要遍历的文件夹路径
folder_path = 'C:/Users/Administrator/Desktop/新建文件夹 (2)'

# 遍历文件夹中的所有子文件夹
for subdir, dirs, files in os.walk(folder_path):
    first_level_dir_name = os.path.basename(os.path.dirname(subdir))
    last_level_dir_name = os.path.basename(subdir)
    # 在每个子文件夹中创建一个新的docx文档
    if last_level_dir_name == '2023-09-05':
        doc = Document()
        # 创建文档
        print(first_level_dir_name)
        # 在文档中添加一个三列若干行的表格
        table = doc.add_table(rows=len(files), cols=3)
        # 获取当前目录下的所有.png文件的路径
        png_files = [os.path.join(subdir, f) for f in files if f.endswith('.png')]
        # 将图片按照顺序插入到表格中
        for i, png_file in enumerate(png_files):
            # 计算图片应该插入的单元格位置
            row = i // 3
            col = i % 3
            # 在特定的单元格中添加图片
            cell = table.cell(row, col)
            paragraph = cell.add_paragraph()
            run = paragraph.add_run()
            run.add_picture(png_file, width=Inches(1.25), height=Inches(1.25))
            # 保存文档
        doc.save(os.path.join(subdir, first_level_dir_name + '.docx'))
    else:
        doc = Document()
        print(last_level_dir_name)
        # 创建文档
        # 在文档中添加一个三列若干行的表格
        table = doc.add_table(rows=len(files), cols=3)
        # 获取当前目录下的所有.png文件的路径
        png_files = [os.path.join(subdir, f) for f in files if f.endswith('.png')]
        # 将图片按照顺序插入到表格中
        for i, png_file in enumerate(png_files):
            # 计算图片应该插入的单元格位置
            row = i // 3
            col = i % 3
            # 在特定的单元格中添加图片
            cell = table.cell(row, col)
            paragraph = cell.add_paragraph()
            run = paragraph.add_run()
            run.add_picture(png_file, width=Inches(1.25), height=Inches(1.25))
            # 保存文档到子文件夹中,使用当前子文件夹的名称作为文档名称
        doc.save(os.path.join(subdir, last_level_dir_name + '.docx'))

 

标签:files,add,文档,subdir,path,图片,os,png,加载
From: https://www.cnblogs.com/springcloud/p/17729320.html

相关文章

  • Word文档中左下角小横线无法删除?
    编辑完文档发现左下角有一个怎么都删不掉的小横线?解决方法选择上方工具栏中的替换,或者快捷键Ctrl+h打开替换弹窗后,查找内容中输入^f,点击替换即可成功删除那条可恶的小横线......
  • Abp vNext 模块加载机制
    文章目录生命周期PreConfigureServices添加依赖注入或者其它配置之前ConfigureServices添加依赖注入或者其它配置PostConfigureServices添加依赖注入或者其它配置之后OnPreApplicationInitialization初始化所有模块之前OnApplicationInitialization初始化所有模块On......
  • 生成一张可扫码支付(打赏)的加密图片
    “八图片”是一个可以将图片或网址加密的网络平台。通过这个平台,可以生成一张二维码加密的网络图片。用户需要扫描图片上的二维码,支付(打赏)后可以直接看到原始图片,或者跳转到一个指定的网页。付款金额由你来设置,收入直接进入你自己的个人账户中。 很多人会将虚拟资源的密码等信......
  • python操作windows桌面实现鼠标、键盘操作,python之pyautogui库文档详解
    文章目录一、概述1、概述2、安装二、屏幕操作1、获取屏幕分辨率2、某个坐标是否在屏幕上3、获取当前鼠标位置三、鼠标操作1、移动鼠标2、点击操作3、滚轮操作4、记录光标小程序5、鼠标拖拽6、缓动/渐变(Tween/Easing)函数99、保护措施(FAILSAFE)99、延迟操作(PAUSE)四、键盘操作1、......
  • 小星星直播去重播放器更新至V1.14版本,新增片头设置和视频倍速播放设置,搭配本身的视频
    小星星去重播放器更新V1.14版本,增加倍速播放,片头10秒静音以及片头60秒0.8倍速慢放,优化左箭头重新播放,优化鼠标隐藏,让你的直播间更稳定,下面是小星星的详细介绍!1、视频设置,在播放列表里面打开预览窗口(注意预览窗口只支持MP4格式的视频,其余格式需要设置完成以后打开视频播放窗口)(1)......
  • Disruptor官方文档实现
    获得DisruptorDisruptor是什么,我就不废话了,本文是对官方文档的实现,直接进入主题,要使用Disruptor可以通过Maven或者下载jar来安装Disruptor,只要把对应的jar放在Javaclasspath就可以了。1.定义事件首先声明一个Event来包含需要传递的数据publicclassLongEvent{privatelongv......
  • 文档图像处理:大模型的突破与新探索
    前言随着数字化时代的到来,文档图像处理技术在各行各业扮演着越来越重要的角色。在2023第十二届中国智能产业高峰论坛(CIIS 2023)的专题论坛上,合合信息智能技术平台事业部副总经理、高级工程师丁凯博士分享了当前文档图像处理面临的困难,并讨论大模型在该领域的突破和新探索。虚竹哥把......
  • 文档升级 | iTOP-RK3568开发板ADB工具的安装和使用
    iTOP-RK3568开发板使用手册更新,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。《iTOP-3568开发板ADB使用手册》进行了文档升级,对ADB工具的安装和使用进行了更全面的步骤介绍。第1章安装adb工具1.1adb简介1.2Windows下安装ADB工具1.3Ubuntu下安装ADB工具第2章......
  • PySide2如何使加载耗时组件
    QTherad方式#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2023/9/2510:12#@Software:PyCharm__author__="JentZhang"fromPySide2.QtWidgetsimportQApplication,QWidget,QVBoxLayout,QPushButton,QLabelfromPySide2.QtCoreimportQThread......
  • dleeeor()确定加载动态库时缺少的符号
       [plugins_open_pluginplugins.c:79]1970-01-01T17:46:22Z|00003|plugins|INFO|netdev_registernotsupportedby/var/lib/plugins/libacl_pluginplugin[plugins_open_pluginplugins.c:83]1970-01-01T17:46:22Z|00004|plugins|INFO|ofproto_registernotsupported......