0

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

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

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

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

csv 文件将只有 2 行。

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

4

4 回答 4

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()
于 2018-09-12T15:22:15.813 回答
2

这是一种方法:

df = pd.DataFrame([d])

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

print(df)

   key1  key2 key3
0     1    42  foo

注意pd.DataFrame构造函数接受一个list字典。这里的列表恰好只有一本字典,但这已经足够了。

于 2018-09-12T15:23:37.370 回答
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')
于 2018-09-12T16:09:58.003 回答
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
于 2018-09-12T19:38:05.503 回答