欢迎访问宙启技术站
智能推送

Python中将多个表格合并成一个表格的实现方法

发布时间:2023-12-26 00:17:56

在Python中,可以使用多个库和技术来将多个表格合并成一个表格。下面将介绍两种常用的方法:使用pandas和使用openpyxl。

方法一:使用pandas

Pandas是一个功能强大的数据处理库,可以轻松合并多个表格。首先,需要安装pandas库,可使用以下命令进行安装:

pip install pandas

以下是一个使用pandas合并多个表格的例子:

import pandas as pd

# 读取多个表格
df1 = pd.read_excel('table1.xlsx')
df2 = pd.read_excel('table2.xlsx')
df3 = pd.read_excel('table3.xlsx')

# 合并多个表格
merged_df = pd.concat([df1, df2, df3], ignore_index=True)

# 保存合并后的表格
merged_df.to_excel('merged_table.xlsx', index=False)

在上述例子中,首先导入pandas库,然后使用pandas的read_excel函数读取多个表格。然后,使用concat函数将这些表格合并成一个表格,通过参数ignore_index=True使得合并后的表格重新生成索引。最后,使用to_excel函数将合并后的表格保存为一个新的Excel文件。

方法二:使用openpyxl

openpyxl是一个用于读取和写入Excel文件的库。首先,需要安装openpyxl库,可使用以下命令进行安装:

pip install openpyxl

以下是一个使用openpyxl合并多个表格的例子:

import openpyxl

# 读取多个表格
wb1 = openpyxl.load_workbook('table1.xlsx')
wb2 = openpyxl.load_workbook('table2.xlsx')
wb3 = openpyxl.load_workbook('table3.xlsx')

# 创建一个新的工作簿
merged_wb = openpyxl.Workbook()

# 获取新工作簿的默认工作表
merged_sheet = merged_wb.active

# 合并多个表格
for ws in wb1:
    for row in ws.iter_rows(values_only=True):
        merged_sheet.append(row)
        
for ws in wb2:
    for row in ws.iter_rows(values_only=True):
        merged_sheet.append(row)

for ws in wb3:
    for row in ws.iter_rows(values_only=True):
        merged_sheet.append(row)

# 保存合并后的表格
merged_wb.save('merged_table.xlsx')

在上述例子中,首先导入openpyxl库,然后使用load_workbook函数读取多个表格。然后,创建一个新的工作簿,使用active属性获取新工作簿的默认工作表。接着,使用嵌套的循环遍历每个表格的每一行,并使用append方法将每一行添加到新工作表中。最后,使用save方法将合并后的表格保存为一个新的Excel文件。

总结:

本文介绍了两种常用的方法来将多个表格合并成一个表格,分别使用pandas和openpyxl库实现。使用pandas能够简化合并过程,而使用openpyxl则相对更底层一些。根据实际需求选择适合的方法。