案例导入
如下图,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
转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/291401.html