导出字典中的数据帧以分离CSV文件

时间:2019-08-12 14:25:49

标签: python pandas

我有一本字典,每个键有一个年份,每个值有一个数据框。我需要将这些数据框导出为CSV文件,并使用键(即年份)作为文件名。我试过运行for循环来更改变量名,但似乎不起作用。 有人可以概述另一种方法。谢谢

2 个答案:

答案 0 :(得分:1)

由于您可以轻松地迭代python字典的键,因此可以执行以下操作:

import pandas as pd

df_dic = {'2017': df1, '2018': df2, '2019': df3}

for key in df_dic:
    df_dic[key].to_csv('{}.csv'.format(key), index=False)

如果您的键是整数,这也将起作用,因为.format()调用会将整数转换为字符串。

通知index=False,它可以避免将数据帧索引存储在csv中。

如果需要该索引,请将index设置为True。 (默认情况下。)

答案 1 :(得分:1)

与Charles的回答没什么不同,只是mcve,我们甚至可以将整数而不是字符串作为年份。

import pandas as pd
import os

fldr = 'dataframes'
os.makedirs(fldr, exist_ok=True)
diz = {key:pd.util.testing.makeDataFrame().head(10) 
       for key in range(2000,2020)}

for key, value in diz.items():
    value.to_csv(f"{fldr}/{key}.csv", index=False)