2017-04-08 98 views
0
kurzor_databaza.execute("SELECT c0,c3,c6,c9,c12,c15,c18,c21 FROM teplota_tuv WHERE datum=(%s);",(datetime_object,)) 
    rows=kurzor_databaza.fetchall() 
    hodnoty_databaza={} 

    for row in rows: 
     hodnoty_databaza['DEN']={'c0':row[0],'c3':row[1],'c6':row[2],'c9':row[3],'c12':row[4],'c15':row[5],'c18':row[6]} 
     print hodnoty_databaza 

我需要刪除來自結果的小數('')Python從數據庫中選擇數字格式

當我運行程序這是結果。 ('19.312'),'c12':十進制('23 .625'),' '23 0.062 '), 'C0':十進制('20 0.687'), 'C6':十進制('19 0.75 '), 'C 15':十進制('21 0.875')}}

問題是不支持的數字鍵入python.I需要刪除十進制('')結果。 Colums C0-C21是數字

回答

0

將它們轉換爲浮動:

hodnoty_databaza['DEN'] = {x:float(y) for x,y in hodnoty_databaza['DEN'].items()} 
print hodnoty_databaza['DEN'] 
# {'c9': 23.625, 'c18': 22.625, 'c3': 19.312, 'c12': 23.062, 'c0': 20.687, 'c6': 19.75, 'c15': 21.875} 

你可以閱讀更多關於Decimal

+0

謝謝RaminNietzsche,它是解決方案 – user7432329