python - 我需要从 docx 文件中获取包含数据的表格
问题描述
我正在使用此代码:
from docx import *
file_path = "/content/my_doc_table.docx"
document = Document(file_path)
tables = document.tables
tables
我得到对象:[<docx.table.Table at 0x7f9dcde8ad90>]
我还想用熊猫打开它。请告诉我,我如何打开一张桌子?
解决方案
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)
自己试试吧!
我希望这些例子足以理解它是如何工作的。
这是文档,您可以在其中找到所需的一切。
推荐阅读
- ruby - 正确删除 MacOS 上的 Ruby/RubyGems 和 gems 版本
- datatable - DataTable - 服务器端 - 排序列初始化
- json - Angular如何在formArray中推送嵌套的反应表单json id
- pyspark - 使用带有参数的 PySpark 3 DataFrame#transform 方法
- google-bigquery - 上传到 BigQuery GIS:“无效嵌套:循环 1 不应包含循环 0”
- python - 如何修复图像未显示在 heroku 部署的 django 应用程序中
- r - 条形图 R 中的图例
- flutter - 如何在 dart/flutter 中获取 mp3 元数据?
- android - Android Preference如何选择彼此相邻的多个项目之一
- qt - 如何加载和显示 QML 文件