gpt4 book ai didi

python - 如何使用 python-docx 检索多个表中的特定表数据?

转载 作者:太空宇宙 更新时间:2023-11-03 14:01:58 25 4
gpt4 key购买 nike

我正在使用python-docx提取Word文件中的特定表数据。我有一个包含多个表格的word文件。 This is the particular table in multiple tablesthe retrieved data need to be arranged like this.

挑战:

  1. 我可以使用python-docx在word文件中查找特定表格
  2. 我可以使用python-docx实现我的要求

最佳答案

这不是一个完整的答案,但它应该为您指明正确的方向,并且基于我一直在从事的一些类似任务。

我在 Jupyter 笔记本中以 Python 3.6 运行以下代码,但它应该只能在 Python 中运行。

首先我们开始导入 docx 文档模块并指向我们要使用的文档。

from docx.api import Document

document = Document(<your path to doc>)

我们创建一个表列表,并打印其中有多少个表。我们创建一个列表来保存所有表格数据。

tables = document.tables

print (len(tables))

big_data = []

接下来我们循环遍历表:

for table in document.tables:

data = []

keys = None
for i, row in enumerate(table.rows):
text = (cell.text for cell in row.cells)

if i == 0:
keys = tuple(text)
continue
row_data = dict(zip(keys, text))
data.append(row_data)
#print (data)
big_data.append(data)
print(big_data)

通过循环遍历所有表,我们读取数据,创建列表列表。每个单独的列表代表一个表,其中每行都有字典。每个字典都包含一个键/值对。键是表中的列标题,值是该列的该行数据的单元格内容。

所以,这就是你问题的一半。下一部分是 use python-docx to create a new table在输出文档中 - 并用列表/列表/字典数据中的适当内容填充它。

在我一直在研究的示例中,这是文档中的最终表格。 final table

当我运行上面的例程时,这是我的输出:

[{'Version': '1', 'Changes': 'Local Outcome Improvement Plan ', 'Page Number': '1-34 and 42-61', 'Approved By': 'CPA Board\n', 'Date ': '22 August 2016'}, 
{'Version': '2', 'Changes': 'People are resilient, included and supported when in need section added ', 'Page Number': '35-41', 'Approved By': 'CPA Board', 'Date ': '12 December 2016'},
{'Version': '2', 'Changes': 'Updated governance and accountability structure following approval of the Final Report for the Review of CPA Infrastructure', 'Page Number': '59', 'Approved By': 'CPA Board', 'Date ': '12 December 2016'}]]

关于python - 如何使用 python-docx 检索多个表中的特定表数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49178914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com