Warning: Attempt to read property "post_title" on null in /www/wwwroot/lifetruth.top/wp-content/plugins/elementor/core/isolation/elementor-adapter.php on line 28

[数据]:工作簿与工作表合并-Python为例

176次阅读
没有评论

文件夹合并:

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}")
正文完
 0
评论(没有评论)

执迷者X