python字典到水平方向的csv

时间:2018-09-12 15:19:36

标签: python pandas dictionary dataframe

我有一个简单的python字典,格式为:

{"key1":1,"key2":42,"key3":"foo"}

并想存储在一个csv文件中,其中的键是标题,第二行的单元格值是值:

| "key1"  | "Key2" | "key3" |  
| 1       | 42     | "foo" |

csv文件将只有2行。

我认为可以使用csv和python,但是找不到正确的方法(应该很简单)。我的行/列总是被交换。

4 个答案:

答案 0 :(得分:2)

假设您dict命名为d

pd.Series(d).to_frame().T
Out[55]: 
  key1 key2 key3
0    1   42  foo
#pd.Series(d).to_frame().T.to_csv()

答案 1 :(得分:2)

这是一种方法:

df = pd.DataFrame([d])

df.to_csv('out.csv', index=False)

print(df)

   key1  key2 key3
0     1    42  foo

请注意,pd.DataFrame构造函数接受list字典。这里的列表碰巧只有一本字典,但这足够了。

答案 2 :(得分:0)

明显的答案已经发布。尝试一下numpy。此外,它不会考虑订购。

import numpy as np
d={"key1":1,"key2":42,"key3":"foo"}
a=np.array([d.keys()])
b=np.array([d.values()])
x=np.concatenate([a,b],0)

np.savetxt('x.csv',x,delimiter=',',fmt='%s')

答案 3 :(得分:0)

您也可以尝试这样

d = {"key1":1,"key2":42,"key3":"foo"}

df = pd.DataFrame.from_dict(d, orient='index').T
print(df)
  key1 key2 key3
0    1   42  foo