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

将多个pandas dataframe批量导出为csv文件的最高效方法是什么

批量导出Pandas DataFrame为对应名称CSV的实现方案

方法1:字典映射法(最推荐)

这种方式不依赖作用域变量获取,稳定性最高,适合大多数场景:

  • 先将需要导出的DataFrame和对应的输出文件名做键值映射
  • 直接遍历字典完成批量导出
import pandas as pd

# 构造DataFrame与输出文件名的映射关系
export_map = {
    "df1.csv": df1,
    "df2.csv": df2,
    "df3.csv": df3
}

# 遍历执行导出
for file_name, df_obj in export_map.items():
    # 可根据需求调整to_csv的参数,比如是否保留索引、编码格式等
    df_obj.to_csv(file_name, index=False, encoding="utf-8-sig")

如果需要统一存放到指定目录,拼接路径即可,比如f"./data/{file_name}"。

方法2:动态变量获取法(适合DataFrame数量多、命名规则统一的场景)

如果不想手动构造映射字典,可以通过内置函数globals()获取全局作用域内的变量,匹配对应名称的DataFrame:

# 提前定义需要导出的DataFrame名称列表
df_name_list = ["df1", "df2", "df3"]

for df_name in df_name_list:
    # 从全局变量中取出对应名称的DataFrame实例
    current_df = globals()[df_name]
    # 导出为和DataFrame同名的CSV文件
    current_df.to_csv(f"{df_name}.csv", index=False, encoding="utf-8-sig")

注意事项:

  • 如果DataFrame是定义在函数内部的局部变量,把globals()替换为locals()即可
  • 需要确保列表内的名称都是真实存在的DataFrame变量,避免取值异常

通用封装函数

可以直接封装为复用函数,适合高频批量导出的场景:

import os
import pandas as pd

def batch_export_df_to_csv(df_name_list, output_path="./export"):
    # 输出目录不存在则自动创建
    os.makedirs(output_path, exist_ok=True)
    for df_name in df_name_list:
        current_df = globals()[df_name]
        save_path = os.path.join(output_path, f"{df_name}.csv")
        current_df.to_csv(save_path, index=False, encoding="utf-8-sig")

# 调用示例
batch_export_df_to_csv(["df1", "df2", "df3"])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:54:03