2015-05-19 216 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()