如何使用Python迭代读取word中的段落、表格和图片?
from docx.document import Document as _Document from docx.oxml.text.paragraph import CT_P from docx.oxml.table import CT_Tbl from docx.table import _Cell, Table, _Row from docx.text.paragraph import Paragraph import docx path = './test.docx' doc = docx.Document(path) def iter_block_items(parent): if isinstance(parent, _Document): parent_elm = parent.element.body elif isinstance(parent, _Cell): parent_elm = parent._tc elif isinstance(parent, _Row): parent_elm = parent._tr else: raise ValueError("something's not right") for child in parent_elm.iterchildren(): if isinstance(child, CT_P): yield Paragraph(child, parent) elif isinstance(child, CT_Tbl): yield Table(child, parent) for block in iter_block_items(doc): # read Paragraph if isinstance(block, Paragraph): print(block.text) # read table elif isinstance(block, Table): print(block.style.name)
3. 访问图片 接下来,我们可以通过遍历文档中的每个段落,找到其中包含的图片。具体代码如下: for paragraph in document.paragraphs: for run in paragraph.runs: if run._element.xml.startswith(' print('Found a picture!') 其中,“runs”是指段落中的一小部分文本。如果该“run”对象的XML标记以“ 4. 保存图片 最后,我们可以使用Python中的“open”函数将图片保存到本地。具体代码如下: for paragraph in document.paragraphs: for run in paragraph.runs: if run._element.xml.startswith(' image_name = run.part.rels[0]._target with open(image_name, 'wb') as f: f.write(run.part.blob)
关于python - 如何使用Python迭代读取word中的段落、表格和图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55451762/
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人