42.连接数据

李光朱课程 2024-04-22 02:02:53
案例导入

如下图,3个工作表的数据,第1列均为索引列,引擎为"openpyxl"。用concat函数水平拼接3个工作表的数据,输出数据并保存到Excel文件,保存路径为“D:/Samples/ch04/02 数据合并”。新文件的名称为“学生成绩_拼接.xlsx”。

图1.sheet1的数据

图2.sheet2数据

图3.sheet3数据

文心一言提示词

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

显示结果如下:

首先,你需要确保你已经安装了pandas和openpyxl库。pandas用于数据处理,而openpyxl是pandas用来读取和写入Excel文件的引擎之一。如果尚未安装,你可以通过以下命令安装:

pip install pandas openpyxl

接下来,你可以使用以下Python代码来导入三个工作表的数据,将它们水平拼接,然后输出并保存到新的Excel文件中:

import pandas as pd# 读取Excel文件中的所有工作表file_path = 'D:/Samples/学生成绩.xlsx'xls = pd.ExcelFile(file_path, engine='openpyxl')# 获取工作表名列表sheet_names = xls.sheet_names# 创建一个空的DataFrame列表,用于存储每个工作表的数据dfs = []# 遍历每个工作表,读取数据并将第一列设为索引for sheet_name in sheet_names: df = pd.read_excel(file_path, sheet_name=sheet_name, index_col=0, engine='openpyxl') dfs.append(df)# 使用concat函数水平拼接所有的DataFrameconcatenated_df = pd.concat(dfs, axis=1)# 保存到新的Excel文件output_path = 'D:/Samples/ch04/02 数据合并/学生成绩_拼接.xlsx'concatenated_df.to_excel(output_path, engine='openpyxl')print("数据拼接完成并已保存到文件:", output_path)

这段代码首先读取了D:/Samples/学生成绩.xlsx文件中的所有工作表,并将每个工作表的数据存储在一个DataFrame列表中。然后,它使用pd.concat函数将这些DataFrame水平拼接起来(通过设置axis=1)。最后,它将拼接后的数据保存到一个新的Excel文件中,文件名为学生成绩_拼接.xlsx,并打印出文件保存的路径。

请注意,代码中假设每个工作表的第一列都可以用作索引列。如果某些工作表的第一列不适合作为索引,你需要相应地调整index_col参数。此外,确保目标文件夹(D:/Samples/ch04/02 数据合并/拼接数据/)已经存在,否则to_excel函数会抛出一个错误。如果文件夹不存在,你需要先创建它,或者使用os模块中的os.makedirs函数来创建它。

Python编辑器运行

图4.Python运行结果

图5.新生成的数据表

本合集使用的工具如下:

文心一言:3.5版本

Python编辑器:3.9.0

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

0 阅读:9

李光朱课程

简介:感谢大家的关注