Python读取Word表格数据输入到Excel中

在日常工作和学习中,我们常常需要将Word文档中的表格数据提取并保存到Excel中进行进一步分析和处理。Python作为一种强大的编程语言,提供了丰富的库和方法来处理各种文件格式,包括Word和Excel。在本文中,我们将介绍如何使用Python读取Word文档中的表格数据,并将其输入到Excel中。

准备工作

在开始编写代码之前,我们需要安装几个Python库。首先,我们需要安装python-docx库来处理Word文档,使用以下命令进行安装:

pip install python-docx

接下来,我们需要安装openpyxl库来处理Excel文件,使用以下命令进行安装:

pip install openpyxl

安装完成后,我们可以开始编写代码了。

代码实现

读取Word表格数据

首先,我们需要使用python-docx库来读取Word文档中的表格数据。以下是一个简单的示例代码:

import docx

def read_table_from_word(file_path):
    doc = docx.Document(file_path)
    table = doc.tables[0]  # 假设表格位于文档的第一个位置

    data = []
    for row in table.rows:
        row_data = []
        for cell in row.cells:
            row_data.append(cell.text)
        data.append(row_data)

    return data

# 读取Word表格数据
word_data = read_table_from_word('example.docx')

在上面的代码中,我们首先使用docx.Document方法打开Word文档,并使用tables属性获取文档中的所有表格。然后,我们通过遍历行和列,使用cell.text属性获取每个单元格的文本,并将其保存到一个二维列表data中。

将数据输入到Excel中

接下来,我们需要使用openpyxl库将数据输入到Excel中。以下是一个简单的示例代码:

from openpyxl import Workbook

def write_data_to_excel(data, file_path):
    wb = Workbook()
    sheet = wb.active

    for i, row in enumerate(data):
        for j, value in enumerate(row):
            sheet.cell(row=i+1, column=j+1, value=value)

    wb.save(file_path)

# 将数据输入到Excel中
write_data_to_excel(word_data, 'output.xlsx')

在上面的代码中,我们首先创建一个新的Excel工作簿,并获取活动工作表(默认为第一个工作表)。然后,我们使用嵌套的循环遍历二维列表data中的数据,并使用sheet.cell方法将数据写入到工作表的对应单元格中。最后,我们使用wb.save方法保存Excel文件。

完整代码

下面是完整的示例代码,包括读取Word表格数据和将数据输入到Excel中的部分:

import docx
from openpyxl import Workbook

def read_table_from_word(file_path):
    doc = docx.Document(file_path)
    table = doc.tables[0]  # 假设表格位于文档的第一个位置

    data = []
    for row in table.rows:
        row_data = []
        for cell in row.cells:
            row_data.append(cell.text)
        data.append(row_data)

    return data

def write_data_to_excel(data, file_path):
    wb = Workbook()
    sheet = wb.active

    for i, row in enumerate(data):
        for j, value in enumerate(row):
            sheet.cell(row=i+1, column=j+1, value=value)

    wb.save(file_path)

# 读取Word表格数据
word_data = read_table_from_word('example.docx')

# 将数据输入到Excel中
write_data_to_excel(word_data, 'output.xlsx')

总结

通过使用python-docxopenpyxl库,我们可以方便地读取Word文档中的表格数据,并将其输入到Excel中。这为我们在日常工作和学习中处理表格数据提供了便利。希望本文对您理解和使用Python处理Word和Excel文件有所帮助。

journey
    title 读取Word表格数据输入到Excel中的旅程

    section 准备工作
        Python环境安装
        安装python-docx库