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