从word文档中提取表格

问题描述

是否有任何工具可以从word文档中提取所有表格并使用python或vba将它们转换为csv文件或任何excel扩展文件

请注意,word 文件包含文本和表格。

解决方法

您可以将 pandaspython-docx 一起使用。根据 this 答案,您可以从文档中提取所有表格并将它们放入列表中:

from docx import Document
import pandas as pd
document = Document('test.docx')

tables = []
for table in document.tables:
    df = [['' for i in range(len(table.columns))] for j in range(len(table.rows))]
    for i,row in enumerate(table.rows):
        for j,cell in enumerate(row.cells):
            if cell.text:
                df[i][j] = cell.text
    tables.append(pd.DataFrame(df))

然后您可以通过遍历列表将表保存到 csv 文件:

for nr,i in enumerate(tables):
    i.to_csv("table_" + str(nr) + ".csv")