Python 3.x 将字典转换为CSV Python
我有一本字典,格式如下:Python 3.x 将字典转换为CSV Python,python-3.x,csv,dictionary,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_
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)的标签。如何修改脚本以实现此目的?不清楚您想要什么,因此我假设您希望将行标记为['label1'、'label2'、'label3'、'label4'],将列标记为['item'、'item99'] 重置索引:
df.index = ['label1', 'label2', 'label3', 'label4']
保存:
编辑:
根据您的评论:
您的数据帧需要进行转置:
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=',')
df
与mydict
有什么关系?什么是filenstrong textame
?请包含一个完整的最小示例。更新了问题。您发布的代码无法执行。您只有两列('item'和'item999'),但有四个标题('label1',…,'label4')。如果没有一个有效的示例,就不可能理解您想要什么。请更新您的问题。我有一本有999个键的字典,每个键都在名为item的列下。每个键都有4个指定值,这些值将是附加的第2-5列。例如,对于标记为item1的键,这将是第1列下的第一行,其4个值将放在第2-5列中。Item999将是第999行,我希望Item999名称位于item列下(有点像主键),其值将位于第999行的第2-5列。希望这能让老师希望列被标记为item,label1,label2,label3,label4,我将有999行(一个999乘5的矩阵)
df.to_csv(filename,encoding='utf-8', header=['label1', 'label2', 'label3', 'label4'], sep=',')