修改代码: # 保存文档 doc.save(r'G:\工作文件\产业办\2022年\产业帮扶\产业奖补\3.经营主体奖补\县级业务\15.绩效资料\实施方案) # 将文档保存为指定的文件名 # 重命名并另存文件 os.rename(filename, row[0] + '.docx') # 将文件名改为第一个单元格中的内容加上.docx,并保存。
时间: 2023-06-30 10:07:30 浏览: 35
修改后的代码如下:
```python
# 保存文档
doc.save(r'G:\工作文件\产业办\2022年\产业帮扶\产业奖补\3.经营主体奖补\县级业务\15.绩效资料\实施方案.docx')
# 将文档保存为指定的文件名
import os
os.rename(r'G:\工作文件\产业办\2022年\产业帮扶\产业奖补\3.经营主体奖补\县级业务\15.绩效资料\实施方案.docx', row[0] + '.docx')
# 将文件名改为第一个单元格中的内容加上.docx,并保存。
```
注意,第一行保存文档的代码中,文件名已经包含了要保存的路径和文件名,所以在重命名文件时不需要再加上路径信息。
相关问题
优化代码: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
可以在重命名之前先判断文件是否存在,如果存在则先删除再重命名。修改代码如下:
```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)
```
python代码:打开“1.docx”文档,对其中含有“所”的文字及前两个文字加粗
以下是Python代码实现:
```python
import docx
# 打开文档
doc = docx.Document('1.docx')
# 遍历文档中的段落
for para in doc.paragraphs:
# 遍历段落中的run
for run in para.runs:
# 判断是否含有“所”的文字
if '所' in run.text:
# 将前两个文字加粗
if len(run.text) >= 2:
run.text = run.text[:2] + run.text[2:].replace('所', '\u001b[1m所\u001b[0m', 1)
else:
run.text = run.text.replace('所', '\u001b[1m所\u001b[0m', 1)
# 保存文档
doc.save('1.docx')
```
该代码使用Python的docx模块打开指定的Word文档,遍历文档中的段落和run,并判断是否含有“所”的文字。如果含有,则将前两个文字加粗,并将其余部分中的第一个“所”加粗。最后保存修改后的文档。注意,加粗的效果在命令行中可能无法正确显示,但在Word中能够正确显示。
相关推荐














