我有一个简单的python字典格式:
{"key1":1,"key2":42,"key3":"foo"}
并且希望存储在csv文件中,其中键是标题,值是第二行的单元格值:
| "key1" | "Key2" | "key3" |
| 1 | 42 | "foo" |
csv文件只有2行。
我认为使用csv和python是可能的,但找不到正确的方法(应该这么简单)。我的行/列总是被交换。
假设你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()
这是一种方式:
df = pd.DataFrame([d])
df.to_csv('out.csv', index=False)
print(df)
key1 key2 key3
0 1 42 foo
请注意,pd.DataFrame
构造函数接受list
的字典。这里的列表恰好只有一个字典,但这就足够了。
已经发布了明显的答案。 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')
你也可以这样尝试一下
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