Py学习  »  Python

水平方向的python字典到csv

Rutger Hofste • 4 年前 • 716 次点击  

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

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

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

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

csv文件将只有2行。

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38808
 
716 次点击  
文章 [ 4 ]  |  最新文章 4 年前
user3280146
Reply   •   1 楼
user3280146    5 年前

你也可以试试这个

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
mad_
Reply   •   2 楼
mad_    5 年前

显而易见的答案已经公布。给麻木打一针。此外,它不考虑订购。

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')
jpp
Reply   •   3 楼
jpp    5 年前

有一种方法:

df = pd.DataFrame([d])

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

print(df)

   key1  key2 key3
0     1    42  foo

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

WeNYoBen
Reply   •   4 楼
WeNYoBen    5 年前

假设你 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()