You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何存储apply返回的DataFrame?及Excel路径DataFrame处理问题

关于pandas DataFrame的存储与批量Excel处理问题

1. 存储apply方法返回的DataFrame

当apply方法返回一个DataFrame时,你可以直接用pandas提供的各类输出方法来保存它,具体选哪种格式看你的后续需求:

  • 保存为CSV文件(通用文本格式,适配大多数场景):

    # 假设apply返回的结果是result_df
    result_df.to_csv('output.csv', index=False)
    

    加上index=False能避免把DataFrame的索引列写入文件,让数据更整洁。

  • 保存为Excel文件(适合需要和Excel交互的场景):

    result_df.to_excel('output.xlsx', sheet_name='Apply_Result', index=False)
    

    如果要写入多个工作表,还可以用ExcelWriter来实现多表写入。

  • 保存为Parquet/Feather文件(大数据场景首选,压缩率高、读写速度快):

    # 需先安装pyarrow或fastparquet库
    result_df.to_parquet('output.parquet')
    
  • 保存为JSON文件(适合跨平台的结构化数据交互):

    result_df.to_json('output.json', orient='records')
    

2. 处理包含id、Excel路径和工作表的DataFrame

从你给出的DataFrame结构来看,应该是想按id批量读取对应的Excel工作表并处理吧?这里给你一套完整的实现方案:

首先先确认你的DataFrame定义(Windows路径用原始字符串更稳妥):

import pandas as pd

df = pd.DataFrame(
    [['00100', r'c:\one.xlsx', 'sheet1'], 
     ['00100', r'c:\two.xlsx', 'sheet2'], 
     ['05300', r'c:\thr.xlsx', 'sheet3'], 
     ['95687', r'c:\fou.xlsx', 'sheet4'], 
     ['05300', r'c:\fiv.xlsx', 'sheet5']], 
    columns=['id', 'file', 'sheet']
)

步骤1:按id分组读取并合并Excel数据

用groupby+apply批量处理每个id对应的Excel文件:

def read_and_merge(group):
    # 读取当前id下所有Excel工作表
    sheet_dfs = []
    for _, row in group.iterrows():
        excel_df = pd.read_excel(row['file'], sheet_name=row['sheet'])
        # 添加id列标记数据来源
        excel_df['source_id'] = row['id']
        sheet_dfs.append(excel_df)
    # 合并当前id下的所有工作表数据
    return pd.concat(sheet_dfs, ignore_index=True)

# 分组处理得到合并后的结果
merged_data = df.groupby('id').apply(read_and_merge)

步骤2:按id单独存储结果

如果需要把每个id的数据单独保存成文件,可以这样做:

for id_value, id_data in merged_data.groupby('source_id'):
    # 保存为CSV
    id_data.to_csv(f'{id_value}_merged_data.csv', index=False)
    # 或者保存为Excel
    id_data.to_excel(f'{id_value}_merged_data.xlsx', sheet_name=id_value, index=False)

这样每个id对应的数据都会生成单独的文件,方便后续按id查看或处理。

内容的提问来源于stack exchange,提问作者Caranarq Aramat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:15:38