本文最后更新于15 天前,如有版本迭代或环境切变,可告知邮箱到xianghy_m@sina.com指正修改。
文件夹合并:
import os
import pandas as pd
def combine_excel_sheets(folder_path, output_file):
excel_files = [file for file in os.listdir(folder_path) if file.endswith(('.xlsx', '.xls'))]
# 创建一个ExcelWriter对象,用于写入输出文件
with pd.ExcelWriter(output_file, engine='openpyxl') as writer:
for file in excel_files:
file_path = os.path.join(folder_path, file)
# 读取每个Excel文件的第一个sheet
df = pd.read_excel(file_path, sheet_name=0)
# 修改sheet名称为“文件名称+数据”的格式
sheet_name = os.path.splitext(file)[0] + '数据'
# 将数据写入输出文件的新sheet中
df.to_excel(writer, sheet_name=sheet_name, index=False)
# 指定文件夹路径和输出文件名
folder_path = r'C:\Users\LifeTruth\Desktop\学习\Python\3.合并文件'
output_file = os.path.join(folder_path, 'Combine.xlsx')
# 调用函数合并Excel文件
combine_excel_sheets(folder_path, output_file)
工作表合并
import pandas as pd
import os
# 定义文件路径
file_path = r"C:\Users\LifeTruth\Desktop\学习\Python\决策树\参数表.xlsx"
output_path = r"C:\Users\LifeTruth\Desktop\学习\Python\决策树\合并后的表格.xlsx"
# 读取Excel文件的所有sheet
xls = pd.ExcelFile(file_path)
sheet_names = xls.sheet_names
# 初始化一个空的DataFrame,用于存储合并后的数据
merged_df = pd.DataFrame()
# 遍历所有sheet
for index, sheet_name in enumerate(sheet_names):
# 读取当前sheet
df = pd.read_excel(file_path, sheet_name=sheet_name)
# 如果不是第一个sheet,跳过首行
if index != 0:
df = df.iloc[1:]
# 将当前sheet的数据追加到合并后的DataFrame中
merged_df = pd.concat([merged_df, df], ignore_index=True)
# 将合并后的数据保存到新的Excel文件
merged_df.to_excel(output_path, index=False)
print(f"表格合并完成,结果已保存到:{output_path}")