Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

obter valor decimal bruto da consulta mysqldb


Você pode converter um objeto Decimal em uma string:
cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
    output.append(str(row[4]))

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

Convertê-lo para um float fará com que ele perca sua precisão total, então um valor como 20,24 se tornará 20,239999999999998.

Além disso, convertê-lo para um float gerará uma exceção se o valor for None . Para evitar isso, você pode usar uma função auxiliar como esta:
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])