Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Holen Sie sich den Rohdezimalwert aus der mysqldb-Abfrage

Sie können entweder ein Decimal-Objekt in einen String umwandeln:

cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
    output.append(str(row[4]))

Oder zu einem Float:

cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
    output.append(float(row[4]))

Wenn Sie ihn in einen Gleitkommawert umwandeln, verliert er seine volle Genauigkeit, sodass ein Wert wie 20,24 zu 20,239999999999998 wird.

Außerdem löst das Umwandeln in einen Float eine Ausnahme aus, wenn der Wert None ist . Um dies zu vermeiden, können Sie eine Hilfsfunktion wie diese verwenden:

def convert_mysql_decimal_to_float(decimal_object):
    if (decimal_object == None):
        return None
    else:
        return float(decimal_object)

cell_value = convert_mysql_decimal_to_float(row[4])