python-docx - 替换字符
Posted
技术标签:
【中文标题】python-docx - 替换字符【英文标题】:python-docx - replacing characters 【发布时间】:2016-06-29 22:32:45 【问题描述】:我正在尝试构建一个小程序,在其中我打开一个 docx 文档并用其他人替换字符,在检查文档后进行一些老式的凯撒式加密:[https://python-docx.readthedocs.io]恐怕我可以'找不到对象方法和属性,文档只是解释了如何做某些事情,比如创建段落和部分,但我在检索文档数据和解析方面找不到任何东西。我想在文档中找到一个对象列表,以便我可以解析它们。
我想做这样的事情:
from docx import Document
document = Document('essay.docx')
paragraph = []
for i in document:
paragraph.append(i)
for i in paragraph:
for y in i:
y.replace("a", "y")
...
python-docx 可以做这样的事情吗?如果是这样,我在哪里可以找到可以告诉我如何操作的文档?
如果我使用了不正确的库,如果您能指出,我也将不胜感激。
【问题讨论】:
【参考方案1】:API 文档在您链接到的页面上编入索引(即显示其目录)并描述所有对象和方法。 https://python-docx.readthedocs.io/en/latest/#api-documentation
【讨论】:
是的,我也阅读了这些页面,我找到了诸如“add_paragraph()”和“add_run()”之类的方法,但我找不到诸如“get_paragraph()”之类的方法。我需要让对象解析并修改以创建一个新文件。也许这个库只适用于创建 docx 文档,而不适用于从中检索数据? 查看 Document 对象。我想你正在寻找Document.paragraphs
。
这似乎太难回答了,但您实际上可以解压缩 Word 文档,它会返回一个包含未格式化文本的文本文档。我对这个库不熟悉,但如果情况更糟,你可以使用一个实用程序来解压缩它,然后阅读文本,删除不需要的部分,然后使用这个库来构建你想要的文档。【参考方案2】:
我想我发现了一些有用的东西,以防未来的读者可能感兴趣。 python-docx 的问题是我可以单独获取段落,这需要很多时间。我什至不知道标题、页脚和页眉算不算段落。
但是有一个名为 textract 的库可以读取 docx 和其他文件,它与 python-docx 集成,或者至少这是简短文档所说的。但我能做的是将我的 docx 文件保存为 PDF 并使用:
text = textract.process(
'path/to/norwegian.pdf',
method='pdftofile',
language='nor',
)
这使您可以将所有文本作为字符串保存并保留 pdf 的布局。还没有测试,如果它没有按预期工作,将编辑这篇文章。
http://textract.readthedocs.io/en/latest/python_package.html#python-package
【讨论】:
以上是关于python-docx - 替换字符的主要内容,如果未能解决你的问题,请参考以下文章
python-docx对替换后的文字设置英文字体中文字体字号大小对齐方式