2015-05-19 118 views
0

我和PostgreSQL使用python格式化数据,以JSON

import psycopg2 
import json 

conn = psycopg2.connect(database="testdb", user="openpg", password="openpgpwd", host="127.0.0.1", port="5432") 
print "Opened database successfully" 

cur = conn.cursor() 

cur.execute("SELECT id, name, address, salary from COMPANY") 
rows = cur.fetchall() 

print "Operation done successfully"; 

获取数据。然后我试图格式化这个数据到JSON格式:使用以下命令:

result = json.dumps(rows) 

for row in result: 
    print row 

,但我得到的每个

例如:编号,名称,地址,...在一个单独的行CARACTERES名称= ABC 时执行该脚本,我得到:

一个

b

Ç

回答

2

你的结果(rows)是一个字符串(这是json.dumps()回报)。这就是为什么当你遍历行时,你迭代并打印每个字符。

只是做print rows代替

0

json.dumps()返回一个字符串,所以在返回的每个字符迭代。

要获取流,请使用json.dump()