首页 > 解决方案 > 我需要从 docx 文件中获取包含数据的表格

问题描述

我正在使用此代码:

from docx import *

file_path = "/content/my_doc_table.docx"


document = Document(file_path)

tables = document.tables
tables

我得到对象:[<docx.table.Table at 0x7f9dcde8ad90>]

我还想用熊猫打开它。请告诉我,我如何打开一张桌子?

标签: pythonpandasdocx

解决方案


1. 内容结构

要查看找到了多少表,您可以迭代tables

for table in tables:
    print(table)

包含两个表格的文档的示例输出:

<docx.table.Table object at 0x7f61ad9779d0>
<docx.table.Table object at 0x53rgad9fd498>

找到的表(列、行、单元格)也是可迭代的,因此您可以使用索引访问它们:tables[0]给:<docx.table.Table at 0x7f61ad9779d0>


2. 访问内容

要访问所选单元格的内容,您可以通过列或行访问它们。
使用上面访问可迭代变量的示例,我们将打印第一个表的第一列中第一个单元格的内容:

tables[0].columns[0].cells[0].text

在这里,我们将打印第一个表格第二行中所有单元格的内容:

for cell in tables[0].rows[1].cells:
    print(cell.text)

自己试试吧!


我希望这些例子足以理解它是如何工作的。
这是文档,您可以在其中找到所需的一切。


推荐阅读