优化代码:Traceback (most recent call last): File "G:\工作文件\产业办\2022年\产业帮扶\产业奖补\3.经营主体奖补\县级业务\15.绩效资料\读取Excel数据写入Word.py", line 53, in <module> os.rename(result_folder, row[0] + '.docx') # 将文件名改为第一个单元格中的内容加上.docx,并保存。 FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: './result' -> '紫阳县2023年经营主体茶叶产业基地建设奖补实施方案.docx' 进程已结束,退出代码1
时间: 2023-11-22 14:04:54 浏览: 139
rich-traceback:Python 日志记录模块的信息回溯
可以在重命名之前先判断文件是否存在,如果存在则先删除再重命名。修改代码如下:
```python
import os
import openpyxl
from docx import Document
# 读取Excel文件
wb = openpyxl.load_workbook('data.xlsx')
ws = wb.active
# 遍历Excel表格
for row in ws.iter_rows(min_row=2, values_only=True):
# 读取模板文件
doc = Document('template.docx')
# 替换文本
for p in doc.paragraphs:
for r in p.runs:
text = r.text.replace('{{company}}', row[0])
r.text = text
# 保存文件
result_folder = './result'
if not os.path.exists(result_folder):
os.makedirs(result_folder)
result_path = os.path.join(result_folder, 'temp.docx')
doc.save(result_path)
# 重命名文件
new_filename = row[0] + '.docx'
new_filepath = os.path.join(result_folder, new_filename)
if os.path.exists(new_filepath):
os.remove(new_filepath)
os.rename(result_path, new_filepath)
```
阅读全文