可以将这些冗长的代码更改为递归函数吗?
Possible to change these lengthy codes to a recursion function?
我正在尝试从 .docx 文档中的 tables(其中也包括嵌套的 tables)获取数据。但是我当前的代码看起来像:
def pctnt():
tables = doc.tables
for table in tables:
for row in table.rows:
for cell in row.cells:
for paragraph in cell.paragraphs:
print(paragraph.text)
for table in cell.tables:
for row in table.rows:
for cell in row.cells:
for paragraph in cell.paragraphs:
print(paragraph.text)
for table in cell.tables:
for row in table.rows:
for cell in row.cells:
for paragraph in cell.paragraphs:
print(paragraph.text)
它适用于我当前的 .docx,因为我知道会有多少嵌套 table。
但是,当我有其他文档进入时,情况就不会这样了,因此我需要一种方法来从嵌套的 table 中检索数据,无论文档中有多少。
NEW QUESTION based on the solution given by @Boendal
我是否可以将数据打印到列表中,以便我可以使用 pandas 打印美化的 table 或搜索特定的 table 单元格?
根据您提供的描述和您的代码片段,这应该可行:
def print_paragraphs(doc):
for table in doc.tables:
for row in table.row:
for cell in row.cells:
for paragraph in cell.paragraphs:
print(paragraph.text)
print_paragraphs(cell)
print_paragraphs(doc)
我正在尝试从 .docx 文档中的 tables(其中也包括嵌套的 tables)获取数据。但是我当前的代码看起来像:
def pctnt():
tables = doc.tables
for table in tables:
for row in table.rows:
for cell in row.cells:
for paragraph in cell.paragraphs:
print(paragraph.text)
for table in cell.tables:
for row in table.rows:
for cell in row.cells:
for paragraph in cell.paragraphs:
print(paragraph.text)
for table in cell.tables:
for row in table.rows:
for cell in row.cells:
for paragraph in cell.paragraphs:
print(paragraph.text)
它适用于我当前的 .docx,因为我知道会有多少嵌套 table。
但是,当我有其他文档进入时,情况就不会这样了,因此我需要一种方法来从嵌套的 table 中检索数据,无论文档中有多少。
NEW QUESTION based on the solution given by @Boendal
我是否可以将数据打印到列表中,以便我可以使用 pandas 打印美化的 table 或搜索特定的 table 单元格?
根据您提供的描述和您的代码片段,这应该可行:
def print_paragraphs(doc):
for table in doc.tables:
for row in table.row:
for cell in row.cells:
for paragraph in cell.paragraphs:
print(paragraph.text)
print_paragraphs(cell)
print_paragraphs(doc)