代码之家  ›  专栏  ›  技术社区  ›  Shuvayan Das

使用python将带有键和数据帧的dict写入excel工作表

  •  0
  • Shuvayan Das  · 技术社区  · 6 年前

    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

    因此,数据周期来自key的第一部分,而流失周期来自second,after-。 每个数据帧包含如下所示的数据:

    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 回复  |  直到 6 年前
        1
  •  0
  •   Mayank Porwal    6 年前

    1.)应该连接字典的所有数据帧并创建一个大数据帧。

    创建空数据帧:

    tmp = pd.Dataframe()
    

    遍历字典的键(假设 d )以及dfs的具体内容:

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

    现在, tmp 是一个大的df,所有较小的数据帧连接在一起。

    blank columns 在这个新的df中 tmp公司 .

    因此,如果有3个小df,则在 .

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

    tmp公司 通过在小df之间放置空白col来进行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)

    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.)现在,您已经准备好了这个大数据帧,每个小数据帧由一个空白列与另一个空白列分隔。

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

    如果有帮助,请告诉我。