2012-12-30 51 views
0

每當我嘗試用psycopg2返回數字(以數字形式保存)時,它們最終都是字符串數據類型。psycopg2將字符串作爲字符串返回

如何將它們返回爲int,float或double?

+3

你可以舉一個代碼返回錯誤的結果嗎? –

+0

不能用你只用'int'? – jdotjdot

+0

你使用的是什麼版本的Python? – Keith

回答

1

FAQ描述了這樣做的方法。你基本上註冊一個類型處理器。在該頁面上搜索Numeric。根據常見問題,你這樣做:

DEC2FLOAT = psycopg2.extensions.new_type(
    psycopg2.extensions.DECIMAL.values, 
    'DEC2FLOAT', 
    lambda value, curs: float(value) if value is not None else None) 
psycopg2.extensions.register_type(DEC2FLOAT) 
+0

這樣做,謝謝。 – harbun