Python读取Word的表格转成Excel

简介

Microsoft Word是一款常用的文档处理软件,而Excel则是一款强大的电子表格软件。在实际工作中,我们经常需要将Word文档中的表格数据提取出来,并转换为Excel格式进行进一步分析和处理。

本文将介绍如何使用Python读取Word文档中的表格数据,并将其转换为Excel格式。我们将使用python-docx库来操作Word文档,使用pandas库来处理Excel数据。

准备工作

在开始之前,我们需要安装以下两个Python库:

  • python-docx:用于读取和操作Word文档。
  • pandas:用于处理Excel数据。

可以使用以下命令来安装这两个库:

pip install python-docx pandas

读取Word表格数据

首先,我们需要加载Word文档并读取其中的表格数据。假设我们的Word文档中只包含一个表格,代码如下:

import docx

# 加载Word文档
doc = docx.Document('document.docx')

# 获取第一个表格
table = doc.tables[0]

# 遍历表格数据
data = []
for row in table.rows:
    row_data = [cell.text for cell in row.cells]
    data.append(row_data)

上述代码中,我们使用docx.Document函数加载了名为document.docx的Word文档,并使用doc.tables[0]获取了文档中的第一个表格。然后,我们遍历表格的每一行,并使用cell.text来获取单元格的文本内容,并将其存储在一个二维列表data中。

将表格数据转换为Excel格式

接下来,我们将使用pandas库将上一步获取的表格数据转换为Excel格式。代码如下:

import pandas as pd

# 创建DataFrame对象
df = pd.DataFrame(data)

# 保存为Excel文件
df.to_excel('table.xlsx', index=False)

上述代码中,我们使用pd.DataFrame函数创建了一个DataFrame对象,将之前获取的表格数据传入其中。然后,我们使用df.to_excel函数将DataFrame对象保存为名为table.xlsx的Excel文件。

完整代码示例

import docx
import pandas as pd

# 加载Word文档
doc = docx.Document('document.docx')

# 获取第一个表格
table = doc.tables[0]

# 遍历表格数据
data = []
for row in table.rows:
    row_data = [cell.text for cell in row.cells]
    data.append(row_data)

# 创建DataFrame对象
df = pd.DataFrame(data)

# 保存为Excel文件
df.to_excel('table.xlsx', index=False)

流程图

下面是从读取Word表格到转换为Excel格式的流程图。

flowchart TD
    A[加载Word文档] --> B[获取第一个表格]
    B --> C[遍历表格数据]
    C --> D[创建DataFrame对象]
    D --> E[保存为Excel文件]

类图

下面是本文涉及到的类的类图。

classDiagram
    class Document {
        -tables
        +__init__(path)
        +add_table()
    }

    class Table {
        -rows
        +__init__(table_element)
        +add_row()
    }

    class Row {
        -cells
        +__init__(row_element)
        +add_cell()
    }

    class Cell {
        -text
        +__init__(cell_element)
        +get_text()
    }

    class DataFrame {
        -data
        +__init__(data)
        +to_excel(filename, index)
    }

总结

本文介绍了如何使用Python读取Word文档中的表格数据,并将其转换为Excel格式。通过使用python-docx库和pandas库,我们可以轻松地完成这个任务。希望本文对你有所帮助!