将基于列表的熊猫数据框导出到Excel

时间:2018-06-21 08:24:50

标签: python pandas dataframe

我有一系列要在同一文件中导出为ex​​cel的数据框。由于它们的构造方式,许多它们似乎存储为词典列表。我使用.from_dict进行了转换。但是当我使用df.to_excel时会出现错误。

以下是导致错误的df之一的示例。我的代码:

excel_writer = pd.ExcelWriter('My_DFs.xlsx')

df_Done_Major = df[
                (df['currency_str'].str.contains('INR|ZAR|NOK|HUF|MXN|PLN|SEK|TRY')==False) & 
                (df['state'].str.contains('Done'))
                ][['Year_Month','state','currency_str','cust_cdr_display_name','rbc_security_type1','rfq_qty','rfq_qty_CAD_Equiv']].copy()

# Trades per bucket
df_Done_Major['Bucket'] = pd.cut(df_Done['rfq_qty'], bins=bins, labels=labels)
# Polpulate empty buckets with 0 so HK, SY and TK data can be pasted adjacently
df_Done_Major_Fill_Empty_Bucket = df_Done_Major.groupby(['Year_Month','Bucket'], as_index=False)['Bucket'].size()
mux = pd.MultiIndex.from_product([df_Done_Major_Fill_Empty_Bucket.index.levels[0], df_Done_Major['Bucket'].cat.categories])
df_Done_Major_Fill_Empty_Bucket  = df_Done_Major_Fill_Empty_Bucket.reindex(mux, fill_value=0)
dfTemp = df_Done_Major_Fill_Empty_Bucket
display(dfTemp)
dfTemp = pd.DataFrame.from_dict(dfTemp)
display(dfTemp)
# Export
dfTemp.to_excel(excel_writer, sheet_name='Sheet1', startrow=0, startcol=21, na_rep=0, header=True, index=True, merge_cells= True)

2018-05  0K          0
         10K         2
         20K         4
         40K        10
         60K         3
         80K         1
         100K       14
         > 100K    273
dtype: int64

enter image description here

TypeError: Unsupported type <class 'pandas._libs.period.Period'> in write()

即使我已转换为df,仍需要其他转换吗?

更新:我可以使用以下方法将数据导入excel,但是数据框的格式丢失了,这意味着需要解决大量的excel vba。

list = [{"Data": dfTemp}, ] 

enter image description here

0 个答案:

没有答案