0
我在Python中使用psycopg2來訪問postgresql數據庫。Python + psycopg:在postgresql數據庫中實際上'雙精度'時輸入'23'
予先收集行與使用fetchall:
rows=cur.fetchall()
然後,對於每一行,我修改從PostgreSQL的格式類型蟒格式:
for row in rows:
rec={}
for k in range(len(row)):
print k
rec[columns[k]]=PGData2PY(row[k],str(types[k]))
rtn.append(rec)
def PGData2PY(d,t):
"""
translate pgdb data to python data
params: d: data; t: data description
return python data
"""
if t == 'text':
return str(d)
elif...
else:
print t
return d
我剛收到類型噸= 23,實際上它應該是我的postgresql數據庫中的「雙精度」列。特定的值在這裏對應於數據庫中的整數。
它怎麼會打印t = 23而不是t ='雙精度'或類似的東西?
我不明白你在做什麼:psycopg2將PostgreSQL的類型轉換爲Python。無需做你自己的轉換。 – fog
直到最近我還在使用pgdb,它在我看來我必須自己做... – Antonin
psycopg2中的等效代碼是什麼? – Antonin