社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

水平方向的python字典到csv

Rutger Hofste • 5 年前 • 1544 次点击  

我有一个简单的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
 
1544 次点击  
文章 [ 4 ]  |  最新文章 5 年前
user3280146
Reply   •   1 楼
user3280146    6 年前

你也可以试试这个

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_    6 年前

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

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    6 年前

有一种方法:

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    6 年前

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