将字典转换为CSV Python

时间:2018-08-21 21:00:28

标签: python-3.x csv dictionary

我有一个以下格式的字典:

mydict = {'item1': ['label1_item', 'label2_item', 'label3_item', 'label4_item'], ...
        'item999': ['label1_item999', 'label2_item999', 'label3_item999', 'label4_item999']}

这是我当前输出字典的方式:

filename = datetime.now().strftime('output_-%Y-%m-%d-%H-%M.csv')

df = pd.DataFrame(mydict)

df.to_csv(filename,encoding='utf-8', header = ['label1', 'label2', 'label3', 'label4'], sep=',')

我想标记第一列“ item”,但是我无法标记第一列,我具有第2列(label1)-第5列(label4)的标签。我该如何修改脚本?

1 个答案:

答案 0 :(得分:0)

不清楚您想要什么,所以我假设您希望将行标记为['label1','label2','label3','label4'],将列标记为['item','item99']

重置索引:

df.index = ['label1', 'label2', 'label3', 'label4']

保存:

df.to_csv(filename,encoding='utf-8', sep=',', header=['item', 'item99'])
  

修改:

根据您的评论: 您的数据框需要转置:

df = pd.DataFrame(mydict).T

产生:

                      0               1               2               3
item1       label1_item     label2_item     label3_item     label4_item
item999  label1_item999  label2_item999  label3_item999  label4_item999

然后保存:

df.to_csv(filename,encoding='utf-8', header=['label1', 'label2', 'label3', 'label4'], sep=',')