1. 简介
在日常的数据处理中,我们经常会遇到需要合并多个Excel表格的情况。传统的做法是打开每个表格,逐行逐列复制粘贴到一个新的表格中。然而,这种方法非常繁琐且容易出错。幸运的是,在Python中,我们可以使用少量的代码来完成这项任务。本文将介绍如何使用Python在不到50行代码的情况下实现多张Excel表格合并。
2. 准备工作
在开始之前,我们首先需要确保计算机中安装了Python和相关的第三方库,例如pandas和openpyxl。可以使用以下命令来安装这些库:
pip install pandas
pip install openpyxl
3. 代码实现
3.1 导入所需库
首先,我们需要导入pandas和openpyxl库:
import pandas as pd
from openpyxl import load_workbook
其中,pandas库提供了数据处理的功能,而openpyxl库则用于处理Excel文件。
3.2 合并Excel表格
接下来,我们需要定义一个函数来合并多个Excel表格:
def merge_excel_files(input_files, output_file):
# 创建一个空的DataFrame
combined_df = pd.DataFrame()
# 循环遍历每个输入文件
for file in input_files:
# 读取Excel文件
wb = load_workbook(file)
# 获取第一个工作表的名字
sheet_name = wb.sheetnames[0]
# 读取工作表的数据并添加到combined_df中
df = pd.read_excel(file, sheet_name=sheet_name)
combined_df = combined_df.append(df, ignore_index=True)
# 将合并后的数据保存到新的Excel文件中
combined_df.to_excel(output_file, index=False)
在代码中,我们创建了一个空的DataFrame(combined_df)来存储合并后的数据。然后,我们循环遍历每个输入文件,读取其中的数据,并将其添加到combined_df中。最后,我们使用to_excel函数将combined_df保存为一个新的Excel文件。
3.3 执行合并
现在,我们可以执行合并操作了。请将以下代码添加到我们的脚本中:
if __name__ == "__main__":
# 定义输入文件列表和输出文件名
input_files = ["file1.xlsx", "file2.xlsx", "file3.xlsx"]
output_file = "merged_file.xlsx"
# 调用合并函数
merge_excel_files(input_files, output_file)
在这个示例中,我们假设我们要合并名为“file1.xlsx”,“file2.xlsx”和“file3.xlsx”的三个Excel文件,并将合并后的结果保存为“merged_file.xlsx”。你可以根据自己的需求修改这些文件的名称。
4. 运行结果
运行脚本后,你将在当前目录下找到一个名为“merged_file.xlsx”的新文件。打开它,你将看到所有输入文件的数据都已经被合并在一起。
5. 总结
通过几十行的Python代码,我们成功实现了多张Excel表格的合并。使用这种方法,我们不仅可以节省大量的时间和精力,还可以避免手动操作导致的错误。希望本文对你在日常的数据处理工作中有所帮助。