以数据框名称作为文件名循环导出 csv

Posted

技术标签:

【中文标题】以数据框名称作为文件名循环导出 csv【英文标题】:export csv in loop with the dataframe name as the filename 【发布时间】:2021-12-25 05:31:15 【问题描述】:

我有一个数据框列表,我希望对我的函数进行操作,并将输出单独导出到我的目录,其中数据框名称作为文件名(例如,“天气”)加上一个固定的结尾(例如,“_perYear” )。我怎样才能做到这一点?我的代码结构是这样的:

df_list = [weather, air, ground]
for df in df_list:
    df_perYear = myFunction1(data = df) # my own function
    df_perYear.to_csv("..\weather_perYear.csv") # how to loop the filename?

预期输出:导出三个 csv 文件,文件名分别为 weather_perYear.csvair_perYear.csvground_perYear.csv

谢谢!

【问题讨论】:

【参考方案1】:

如果我正确理解你的问题,你想要这样的东西:

for df in df_list:
    name = [x for x in globals() if globals()[x] is df][0]
    print(f"..\\name_perYear.csv")

虽然不是很好,如果这是 pandas,您可以考虑使用类似 df.name 的东西来设置 dataFrame 的名称(如果它不存在)。

另见Get the name of a pandas DataFrame

【讨论】:

以上是关于以数据框名称作为文件名循环导出 csv的主要内容,如果未能解决你的问题,请参考以下文章

动态构建大型数据框(spark 或 pandas)以导出到 csv 的方法

在 Pandas 中连接 Excel 文件表,以 CSV 格式每 1 行将大型 Pandas 数据框导出到新的 Excel 文件。自动化?

按名称从字典中提取数据框

如何将多个 csv 文件连接到 pandas 数据框中,文件名作为行名?

如何将数据框导出到数据湖中的 CSV 文件? [复制]

重复将多个 Panda 数据集导出到多个 csv 文件的任务