文件夹合并:
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}")
正文完