python docx 批量修改docx文件内容和选择位置添加内容
#-*- encoding:utf_8 -*-
from docx import Document
from docx.shared import Inches
from log import logger
import os'''
python docx 批量修改docx文件内容和选择位置添加内容的初步尝试
不喜勿喷♪(^∇^*)
'''def folder_filelist(pathname):'''读取所有文件名,为了实现对文件夹的批处理'''filename_list = list()full_pathname = os.path.abspath(pathname)if os.path.isfile(full_pathname):if _is_legal_postfix(full_pathname):filename_list.append(full_pathname)else:raise TypeError('文件 {} 后缀名不合法!仅支持如下文件类型:{}。'.format(pathname, '、'.join(self._handle_postfix)))elif os.path.isdir(full_pathname):for relpath, _, files in os.walk(full_pathname):for name in files:filename = os.path.join(full_pathname, relpath, name)if _is_legal_postfix(filename):filename_list.append(os.path.join(filename))return filename_listelse:raise TypeError('文件/文件夹 {} 不存在或不合法!'.format(pathname))def _is_legal_postfix(filename):_handle_postfix = ['doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'pdf']return filename.split('.')[-1].lower() in _handle_postfix and not os.path.basename(filename).startswith('~')def insert_dash(string, index, insert_content):'''str中插入字符'''return string[:index] + insert_content + string[index:]def find_replace(docxname, findname, replacename):'''docx中替换内容'''document = Document(docxname)for paragraph in document.paragraphs:line = paragraph.textlogger.info(line)paragraph.clear()if line.find(findname) != -1:line = insert_dash(line, line.find(findname), replacename)line = line.replace(findname,"")paragraph.add_run(line)logger.info(line)document.save("1" + docxname)def find_add_paragraph(docxname, findname, insert_paragraph):'''docx中想要的位置,插入段落'''document = Document(docxname)for paragraph in document.paragraphs:line = paragraph.textlogger.info(line)if line.find(findname) != -1:for content in insert_paragraph:paragraph.add_run('\n'+content)logger.info(content)document.save("1" + docxname)if __name__ == '__main__':for filename in folder_filelist('pdfconver'):logger.info(filename)find_replace('1.docx', '666', '6666')find_add_paragraph('1.docx', '6', ['你好', 'spa'])
python docx 批量修改docx文件内容和选择位置添加内容相关推荐
- python办公自动化之批量修改docx——以修改含有表格的word文件为例
文章目录 系列文章 前言 一.docx类的包很多,但docx一个就够用 二.快速熟悉docx 三.代码 1. python-docx修改段落中的内容 2. python-docx修改表格中的内容 总结 ...
- 用Python批量修改hex文件的内容
用Python批量修改hex文件的内容 文章目录 用Python批量修改hex文件的内容 0.前言 1.代码 0.前言 先保存下来,电脑要清空了..... 后续补上:大概关于hex校验码,从大的hex ...
- Python使用三种方法批量修改记事本文件编码格式
应用背景:近期计划写一个贝叶斯算法邮件分类的教学案例,苦于没有足够的训练集,就让同学们帮忙每人从自己的邮箱中找几封垃圾邮件把内容复制下来放到记事本文件中发给我,但是忘了提前统一编码格式要求,所以收到的 ...
- python批量修改doc文件
最近公司有个项目改名了,所以以前的文档也要全部修改. 大部分文档都需要改个名字,而大部分文档要修改的内容也是将文档的名字替换,此外就没了其他要修改的内容. 这样的情况下去一个一个操作文件时很费时间的, ...
- python数据库操作批量sql执行_利用Python如何批量修改数据库执行Sql文件
利用Python如何批量修改数据库执行Sql文件 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: 利用Python如何批量修改数据库执行Sql文件.txt ] (友 ...
- 使用python批量修改txt文件中的信息
使用python批量修改txt文件 在更改深度学习很多标签文件的时候,我们有时候需要自己修改txt文件里的路径,这时候如果写一个python程序,就会比较容易: import os import ra ...
- Python批量修改txt文件的某列数值
Python批量修改txt文件的某列数值,在针对使用YOLOv5目标检测算法过程中,会面临更改标注文件(.txt文件)标签的情况,以将txt文件中第一列为0的数改为1为例,则可使用如下代码进行修改: ...
- 批量修改html文件内容,批量修改word文件内容 批量修改WORD文件的页眉页脚
批量修改多个Word文档内容 同时批量修改多个word文档步骤1把要批量修改的文档都放在同一个文件夹中同时批量修改多个word文档步骤2在修改前,先确定多个word文档文件要被修改的内容如小小要修改的 ...
- Python OpenCV 批量修改文件夹内所有图片的尺寸
Python OpenCV 批量修改文件夹内所有图片的尺寸 简述 插件 遍历所有文件(包括子文件) 缩放图片尺寸并保存图片 遍历并修改图片 简述 遍历文件夹下的所有子文件(包括自文件夹内的)的图片批量 ...
最新文章
- ResNet及其变体结构梳理与总结
- 关于未来的10点核心思考
- 获取本地System权限
- 直播预告丨搭建高质量用户数据平台,加速车企数字化转型
- 大数据量分页存储过程效率测试附代码
- Java基础---接口的使用
- 谷歌将于11月修改服务条款
- 2019量子计算机上市公司,2019年第一炮:量子计算机终于来了!
- java读取各类型的文件
- Git Diff 魔法
- C4D插件:阿诺德Arnold渲染器 (R20-26版本合集)
- 仓储rfid文件_物联网RFID标签的四大主流应用场景
- js逆向案例-zzjg之jy/woff.2
- 基于torch学汪峰写歌词、聊天机器人、图像着色/生成、看图说话、字幕生成
- button run clicked becomes grey Android studio运行按钮变灰
- django母版用法
- 151202storyboard中, 设置子控件和父控件的高宽比
- 企业微信工作台集成CAS实现单点登录
- iPhone6 像素 分辨率
- 14 metabase定制