40.合并工作表

李光朱课程 2024-04-13 20:42:50
案例导入

如下图,以“姓名”为关联变量,用merge函数外连接合并3个工作表的数据,输出合并数据并保存到Excel文件。

图1.原始数据表sheet1

图2.原始数据表sheet2

图3.原始数据表sheet3

文心一言提示词

打开百度“文心一言”,输入提示词:“你是pandas专家,文件路径为:D:/Samples/学生成绩.xlsx。该Excel文件中有3个工作表。用pandas导入3个工作表的数据,第1列均为索引列,引擎为"openpyxl"。以“姓名”为关联变量,用merge函数外连接合并3个工作表的数据,输出合并数据并保存到Excel文件,保存路径为“D:/Samples/ch04/02 数据合并/合并工作表”。新文件的名称为“学生成绩_合并.xlsx”。”

显示结果如下:

为了完成这个任务,我们需要按照以下步骤操作:

导入pandas库。使用pd.read_excel()函数导入Excel文件中的三个工作表,每个工作表读取时都指定第一列为索引列。使用pd.merge()函数以“姓名”为关联变量进行外连接合并。输出合并后的数据到新的Excel文件,并保存到指定路径。

以下是完成这些步骤的Python代码示例:

import pandas as pd# 读取Excel文件中的三个工作表sheet1 = pd.read_excel('D:/Samples/学生成绩.xlsx', sheet_name=0, index_col=0, engine='openpyxl')sheet2 = pd.read_excel('D:/Samples/学生成绩.xlsx', sheet_name=1, index_col=0, engine='openpyxl')sheet3 = pd.read_excel('D:/Samples/学生成绩.xlsx', sheet_name=2, index_col=0, engine='openpyxl')# 以“姓名”为关联变量,外连接合并三个工作表的数据merged_data = pd.merge(sheet1, sheet2, on='姓名', how='outer')merged_data = pd.merge(merged_data, sheet3, on='姓名', how='outer')# 将合并后的数据保存到新的Excel文件merged_data.to_excel('D:/Samples/ch04/02 数据合并/合并工作表/学生成绩_合并.xlsx')

注意:

确保openpyxl库已经安装,因为它是读取.xlsx文件时所需的引擎。如果工作表名称不是默认的(如Sheet1, Sheet2, Sheet3),则需要使用实际的工作表名称替换sheet_name参数中的索引值(0, 1, 2)。如果工作表中的“姓名”列不是精确的列名,请替换为实际的列名。to_excel()函数将自动创建一个新的Excel文件,如果文件已存在,则会覆盖它。

这段代码假设每个工作表中都有“姓名”这一列,并且它是用于合并的关联变量。如果列名不同,或者需要合并的列不是“姓名”,请相应地调整代码中的列名。此外,如果列名包含非英文字符或空格,可能需要使用引号将其括起来,或者在读取Excel文件时指定列名的映射。

Python编辑器运行

图4.Python运行结果

图5.合并后的表格

本合集使用的工具如下:

文心一言:3.5版本

Python编辑器:3.9.0

申明:以上结果皆为实际运行结果,如遇到无法运行可在评论区留言。部分数据来自网络,如有侵权请私信告知,感谢!

0 阅读:1

李光朱课程

简介:感谢大家的关注