1、先用思维导图写一下需求和程序步骤,因为大程序还是要反复修改的。
2、丢给AI
3、报错了,要加列名
4、完成,检查,WPS-word-审阅-比较
5、完整代码
import pandas as pd # 导入pandas库,用于处理Excel文件
from docx import Document # 从python-docx库导入Document类,用于处理Word文档
# 定义函数读取_excel,用于读取Excel文件
def 读取_excel(文件路径):
# 使用pandas的read_excel函数读取文件,文件路径作为参数传入
数据表 = pd.read_excel(文件路径)
# 返回读取到的数据表
return 数据表
# 定义函数替换_word文本,用于在Word文档中查找并替换指定文本
def 替换_word文本(word_文件路径, 替换映射):
# 使用Document类打开Word文档
文档 = Document(word_文件路径)
# 遍历Word文档的每个段落
for 段落 in 文档.paragraphs:
# 遍历替换映射中的每个键值对(搜索文本及其对应的替换文本)
for 搜索文本, 替换文本 in 替换映射.items():
# 如果当前段落包含搜索文本
if 搜索文本 in 段落.text:
# 获取当前段落的runs列表(每个run是一段具有相同格式的文本)
inline = 段落.runs
# 遍历当前段落的每个run
for i in range(len(inline)):
# 如果当前run包含搜索文本
if 搜索文本 in inline[i].text:
# 在当前run的文本中替换搜索文本为替换文本
text = inline[i].text.replace(搜索文本, 替换文本)
# 设置run的文本为替换后的文本
inline[i].text = text
# 保存更改后的文档到新文件中
文档.save('替换后的文档.docx')
# 定义主程序函数,用于执行Excel读取和Word替换的整个流程
def 主程序(excel_文件路径, word_文件路径):
# 使用定义好的读取_excel函数读取Excel文件,获取数据表
数据表 = 读取_excel(excel_文件路径)
# 将数据表中的“搜索的文本”列和“要替换的文本”列转换成字典形式的替换映射
替换映射 = dict(zip(数据表['搜索的文本'], 数据表['要替换的文本']))
# 使用定义好的替换_word文本函数,根据替换映射查找并替换Word文档中的文本
替换_word文本(word_文件路径, 替换映射)
# 打印完成消息
print("替换完成!")
# 当直接运行该脚本时执行以下代码
if __name__ == "__main__":
# 设置Excel文件路径
excel_文件路径 = '替换映射.xlsx'
# 设置Word文件路径
word_文件路径 = '新建 DOCX 文档.docx'
# 调用主程序函数,传入文件路径
主程序(excel_文件路径, word_文件路径)