Python实现Word表格转成Excel表格的示例代码

  • Post category:Python

好的。首先,我们需要安装两个Python库:python-docx和openpyxl。其中,python-docx用于读取Word表格内容,openpyxl用于操作Excel表格。

安装python-docx可以使用pip命令:

pip install python-docx

安装openpyxl可以使用pip命令:

pip install openpyxl

接下来,我们以一个具体的示例为例,详细讲解如何实现Word表格转成Excel表格的代码。

示例1:将一个Word文档中所有的表格都转成一个Excel文件中的多个工作表

假设我们有一个Word文档,其中包含3个表格,我们的目标是将这3个表格转成一个Excel文件中的3个工作表,分别对应Word文档中的3个表格。

首先,我们需要读取Word文档中的内容,并将表格数据存储到一个列表中。具体代码如下:

from docx import Document

# 打开Word文档
document = Document('example.docx')

# 获取所有的表格
tables = document.tables

table_data = []

# 遍历所有的表格
for table in tables:
    data = []

    # 遍历表格中的行
    for i, row in enumerate(table.rows):
        # 第一行作为表头
        if i == 0:
            header = [cell.text for cell in row.cells]
            data.append(header)
        else:
            row_data = [cell.text for cell in row.cells]
            data.append(row_data)

    table_data.append(data)

接下来,我们需要使用openpyxl创建一个Excel文件,并将表格数据写入到Excel文件中。具体代码如下:

from openpyxl import Workbook

# 创建一个Excel文件对象
workbook = Workbook()

# 遍历所有的表格数据,每个表格数据创建一个工作表
for i, data in enumerate(table_data):
    sheet_name = 'Sheet' + str(i+1)
    sheet = workbook.create_sheet(sheet_name)

    # 遍历数据中的每一行,将数据写入工作表中
    for row in data:
        sheet.append(row)

# 保存Excel文件
workbook.save('example.xlsx')

以上代码可以将一个Word文档中所有的表格转成一个Excel文件中的多个工作表。

示例2:将一个Word文档中的一个表格转成一个Excel文件中的一个工作表

如果我们只需要将Word文档中的一个表格转换成Excel文件中的一个工作表,可以使用以下代码:

from docx import Document
from openpyxl import Workbook

# 打开Word文档
document = Document('example.docx')

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

# 将表格数据存储到列表中
data = []
for i, row in enumerate(table.rows):
    # 第一行作为表头
    if i == 0:
        header = [cell.text for cell in row.cells]
        data.append(header)
    else:
        row_data = [cell.text for cell in row.cells]
        data.append(row_data)

# 创建一个Excel文件对象
workbook = Workbook()

# 创建一个工作表
worksheet = workbook.active

# 将表格数据写入工作表中
for row in data:
    worksheet.append(row)

# 保存Excel文件
workbook.save('example.xlsx')

以上代码可以将Word文档中的第一个表格转成一个Excel文件中的一个工作表。

总结

以上是Python实现Word表格转成Excel表格的示例代码及教程。需要注意的是,这里只是一个基础示例,实际应用中还需要考虑更多的情况,如文件格式、数据类型、表格排版等。希望本文能帮助到大家,如果有任何问题或建议,请留言给我。