【问题标题】:writing an embedded python dictionary to excel编写一个嵌入的python字典来excel
【发布时间】:2021-07-13 20:30:18
【问题描述】:

目标:我需要拿一本python字典,然后导出到excel工作簿中。
这是字典:

graph = {'Age':{'0-30':100,'31-50':106,'51-60':117,'60+':90},
     'Sex':{'Male':80,'Female':125,'Unknown':100},
     'Income':{'<25k':160,'25-75':110,'75-175':100,'>175':80},
     'Rent':{'1':160,'0':40},
     'Pets':{'Dog':120,'Cat':110,'Duck':80,'Other':50}}

这是我想要的样子。理想情况下,一次最多包含 4 个键值对。

这是我尝试过的:

df = pd.DataFrame(graph)
writer = pd.ExcelWriter('index_vs_total.xlsx', engine='xlsxwriter')
workbook=writer.book
df.to_excel(writer, sheet_name='index_vs_total',startrow=3, index=True)
writer.save()

【问题讨论】:

    标签: python excel pandas dictionary


    【解决方案1】:

    您可以尝试以下方法:

    对于列:

    writer = pd.ExcelWriter('index_vs_total.xlsx', engine='xlsxwriter')
    i = 0
    for k,v in graph.items():
        dataframe = pd.DataFrame({k:v})
        dataframe.to_excel(writer, sheet_name='index_vs_total',startcol=i, index=True)
        i=i+ dataframe.shape[1]+2
    writer.save() 
    

    输出:

    对于行:

    writer = pd.ExcelWriter('index_vs_total.xlsx', engine='xlsxwriter')
    i = 0 #set the startrow
    for k,v in graph.items():
        dataframe = pd.DataFrame({k:v})
        dataframe.to_excel(writer, sheet_name='index_vs_total',startrow=i, index=True)
        i=i+ len(dataframe)+2
    writer.save() 
    

    输出:

    【讨论】:

      【解决方案2】:

      我会尝试df.to_csv('name', index=False)

      【讨论】:

      • 这和我现在的一样。随着键值对的数量变大,它变得不可读。这就是为什么我想在键旁边显示值。
      • 哪个键?我没有看到一个
      • 年龄、性别、收入是关键。在每个键下我想查看它们的值,理想情况下就像我上面指定的那样,尽管下面 anky 的答案足以开始。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-14
      • 2021-06-13
      • 1970-01-01
      相关资源
      最近更新 更多