2017-04-08 2 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 

Je dois supprimer décimal ('') du résultat.Python sélectionnez la base de données format numérique

Lorsque j'exécute un programme Ceci est le résultat.

{ 'DEN': { 'c9': Décimal ('23 .625 '), 'c18': Décimal ('22 .625'), 'c3': décimal ('19 .312'), 'c12': Décimal ('23 .062 '), 'c0': décimal ('20 .687'), 'c6': décimal ('19 .75 '), 'c15': décimal ('21 .875')}}

problèmes est numérique non pris en charge tapez python.J'ai besoin de supprimer Decimal ('') à partir du résultat. COLONNES c0-c21 est numérique

Répondre

0

les convertir en float:

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} 

Vous pouvez en savoir plus sur Decimal.

+0

Merci RaminNietzsche, c'est Solutions – user7432329