AttributeError: module 'docx.oxml.text.paragraph' has no attribute 'Paragraph'
时间: 2023-06-23 16:53:11 浏览: 499
开发errorjsp-手把手带你入门ssh项目
抱歉,前面的回答中使用的 `docx.oxml.text.paragraph.Paragraph` 是一个过时的写法,已经在最新版的 python-docx 包中被移除了。如果你使用的是最新版的 python-docx 包,可以将 `docx.oxml.text.paragraph.Paragraph` 替换为 `docx.text.paragraph.Paragraph`。
以下是使用 `docx.text.paragraph.Paragraph` 的示例代码:
```python
import docx
# 打开 Word 文件
doc = docx.Document('example.docx')
# 定义一个字典用于存储键值对
data = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
# 遍历所有段落
for paragraph in doc.paragraphs:
# 遍历段落中的所有运行
for run in paragraph.runs:
# 如果运行中的文本包含在字典中,就将其替换为相应的值
for key, value in data.items():
if key in run.text:
run.text = run.text.replace(key, value)
# 保存 Word 文件
doc.save('example.docx')
```
以上代码中,我们将 `docx.text.paragraph.Paragraph` 用于替代过时的 `docx.oxml.text.paragraph.Paragraph`,并且使用了和之前相同的遍历方式来遍历所有段落。如果你仍然遇到问题,请检查你的 python-docx 包是否已经更新到最新版。
阅读全文