我有一个简单的python字典,格式为:
{"key1":1,"key2":42,"key3":"foo"}
并想存储在一个csv文件中,其中的键是标题,第二行的单元格值是值:
| "key1" | "Key2" | "key3" |
| 1 | 42 | "foo" |
csv文件将只有2行。
我认为可以使用csv和python,但是找不到正确的方法(应该很简单)。我的行/列总是被交换。
答案 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