有如下数据,需要将excel多个sheet页中的数据,合并在一起。
数据样例:👇
import pandas as pd
import os
# 读Excel文件
file_path = 'D:/project/Excelimport/簿4.xlsx'
# 创建空的DataFrame用于存储合并后的数据
all_data = pd.DataFrame()
# 加载Excel文件
xls = pd.ExcelFile(file_path)
# 获取Excel文件中所有的sheet名称
sheet_names = xls.sheet_names
# 遍历每个sheet并合并数据
for sheet in sheet_names:
df = pd.read_excel(xls, sheet_name=sheet)
df['所在sheet页'] = sheet # 添加一列来标识数据来源的sheet
all_data = pd.concat([all_data, df], ignore_index=True)
# 设置pandas显示选项,显示所有行和列
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('display.max_colwidth', None)
# 打印合并后的数据
print("合并后的数据:")
print(all_data.to_string(index=False))
# 询问用户是否要保存数据
save_option = input("是否要保存汇总数据? (y/n): ")
if save_option.lower() == 'y':
output_file = os.path.join(os.path.dirname(file_path), "合并后的数据.xlsx")
all_data.to_excel(output_file, index=False)
print(f"汇总数据已保存到 {output_file}")
数据如下: