使用python将具有键和数据帧的字典写入Excel工作表

时间:2018-10-31 04:54:01

标签: python excel pandas

我有下面的字典,其中包含作为月份的键和一个数据框。

enter image description here

数据和键:

Data Period         Jan'18              Data Period     Jan'18              Data Period     Jan'18      
Churn Period        Feb'18              Churn Period    Mar'18              Churn Period    Apr'18      

Variable_Name       correlation         Variable_Name   correlation         Variable_Name   correlation
Pending_Disconnect  0.553395448         Pending_Change  0.043461995         active_frq_N    0.025697016
status_Active       0.539464806         status_Active   0.038057697         active_frq_Y    0.025697016
days_active         0.414774231         ethnic          0.037503202         ethnic          0.025195149
days_pend_disco     0.392915837         days_active     0.037227245         ecgroup         0.023192408
prop_tenure         0.074321692         archetype_grp   0.035761434         age             0.023121305
abs_change_3m       0.062267386         age_nan         0.035761434         archetype_nan   0.023121305

键和数据框必须写入到excel工作表中,每个数据框和键组合之间要有间隔。

enter image description here

因此,数据周期来自密钥的第一部分,而搅动周期来自第二部分,在-之后。 每个数据框都包含如下数据:

Variable_Name       correlation 
Pending_Disconnect  0.553395448 
status_Active       0.539464806 
days_active         0.414774231 
days_pend_disco     0.392915837 
prop_tenure         0.074321692 
abs_change_3m       0.062267386 

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

1。)您应该合并字典的所有数据框并创建一个大数据框。

创建一个空的数据框:

tmp = pd.Dataframe()

遍历字典的键(假设d)并连接dfs:

for i in d.keys():
    tmp = pd.concat([tmp,d[key]], axis=1)

现在,tmp是一个很大的df,所有较小的数据帧都是串联在一起的。

2。)在此新df blank columns中追加tmp这里的要点是,每个小df都应由带有另一个小df的空白列分隔。

因此,如果有3个小df,请将2个空白列附加到tmp

tmp[''] = ''
tmp[''] = ''

3。)现在,通过在小df之间插入空白列来重新构建tmp df。

假设tmp中的列为:

'variable_name','correlation','Attribute','Datatype', 'variable_name','correlation','Attribute','Datatype', 'variable_name','correlation','Attribute','Datatype', '','' ## Last 2 cols are empty having blank values(step#2)

这些是所有串联的小型df的列。

现在,创建一个col_list并将空白列放在每个小df之间:

col_list = ['variable_name','correlation','Attribute','Datatype', '', 'variable_name','correlation','Attribute','Datatype', '', 'variable_name','correlation','Attribute','Datatype']

4。)按照tmp重新安排col_list

tmp = tmp[col_list]

5。)现在,您已经准备好了这个大数据框,每个小数据框都由一个空白列与另一个分隔。 现在将其写入excel。

tmp.to_excel() ## Fill all required parameters and write to excel.

让我知道是否有帮助。