如下图所示,以“姓名”为关联变量,用merge函数外连接合并3个工作簿的数据并保存到Excel文件,保存路径为“D:/Samples/ch04/02 数据合并/合并工作簿”。新文件的名称为“学生成绩_合并.xlsx”。
图1.原始数据表-数学
图2.原始数据表-语文
图3.原始数据表-英语
文心一言提示词打开百度“文心一言”,输入提示词:“你是pandas专家,文件路径为:D:/Samples/,有3个Excel文件:学生成绩_语文.xlsx、学生成绩_数学.xlsx和学生成绩_英语.xlsx。用pandas导入3个工作表的数据,第1列均为索引列,引擎为"openpyxl"。以“姓名”为关联变量,用merge函数外连接合并3个工作簿的数据并保存到Excel文件,保存路径为“D:/Samples/ch04/02 数据合并/合并工作簿”。新文件的名称为“学生成绩_合并.xlsx”。”
显示结果如下:
为了完成这个任务,我们首先需要导入pandas库,并使用read_excel函数来读取每个Excel文件。然后,我们将使用merge函数以“姓名”为关联变量进行外连接合并。最后,我们将合并后的数据保存到新的Excel文件中。
以下是完成此任务的Python代码:
import pandas as pd# 定义文件路径file_path = 'D:/Samples/'output_path = 'D:/Samples/ch04/02 数据合并/合并工作簿/'output_file = '学生成绩_合并.xlsx'# 读取Excel文件chinese_scores = pd.read_excel(file_path + '学生成绩_语文.xlsx', index_col=0, engine='openpyxl')math_scores = pd.read_excel(file_path + '学生成绩_数学.xlsx', index_col=0, engine='openpyxl')english_scores = pd.read_excel(file_path + '学生成绩_英语.xlsx', index_col=0, engine='openpyxl')# 假设“姓名”是各表中的共同列,并且位于第一列# 使用merge函数进行外连接合并merged_data = pd.merge(chinese_scores, math_scores, on='姓名', how='outer')merged_data = pd.merge(merged_data, english_scores, on='姓名', how='outer')# 保存合并后的数据到新的Excel文件merged_data.to_excel(output_path + output_file)print(f"合并后的数据已保存到 {output_path + output_file}")请确保在执行此代码之前,你的Python环境中已经安装了pandas和openpyxl库。如果未安装,可以使用以下命令进行安装:
pip install pandas openpyxl此外,还需要确保提供的文件路径和文件名正确无误,并且Excel文件中确实存在名为“姓名”的列作为合并的关联变量。如果列名不是“姓名”,请将代码中的'姓名'替换为实际的列名。
最后,这段代码假设每个Excel文件中都只有一个工作表,并且你希望基于这个工作表的数据进行合并。如果Excel文件中包含多个工作表,你需要使用sheet_name参数来指定要读取的工作表。例如:pd.read_excel(file_path, sheet_name='Sheet1', index_col=0, engine='openpyxl')。
Python编辑器运行图4.Python运行结果
图5.合并后的的数据表
本合集使用的工具如下:
文心一言:3.5版本
Python编辑器:3.9.0
申明:以上结果皆为实际运行结果,如遇到无法运行可在评论区留言。部分数据来自网络,如有侵权请私信告知,感谢!