写一个python代码,实现需求: 1、打开output.txt文件; 2、搜索output.tx文档的内容,找到"修改后的内容:",将"修改后的内容:"往后的每一行存储到列表result[]中; 3、继续搜索,找到"影响范围:",结束存储; 4、打开模板.docx文档,找到里面的第二个表格doc.tables[1]; 5、将result[]中的内容依次填入doc.tables[1]第13行开始的第3列中; 6、如果doc.tables[1]中的第三列内容为空,删除整行
时间: 2024-02-27 17:54:46 浏览: 155
好的,下面是代码:
```python
import docx
# 打开output.txt文件
with open('output.txt', 'r', encoding='utf-8') as f:
# 搜索修改后的内容
result = []
flag = False
for line in f.readlines():
if flag and line.strip() != '':
result.append(line.strip())
if '修改后的内容:' in line:
flag = True
if '影响范围:' in line:
break
# 打开模板.docx文档
doc = docx.Document('模板.docx')
# 找到第二个表格
table = doc.tables[1]
row_index = 12
# 将result中的内容依次填入表格中
for item in result:
row_index += 1
table.cell(row_index, 2).text = '√'
table.cell(row_index, 3).text = item
# 如果第三列为空,删除整行
if table.cell(row_index, 3).text.strip() == '':
table._element.remove(table.rows[row_index]._element)
# 保存文档
doc.save('模板.docx')
```
注意,这段代码只是一个示例,具体实现还需要根据实际情况进行调整。同时,为了让代码更加健壮,建议加入一些异常处理的代码。
阅读全文