Vous pouvez soit convertir un objet Decimal en chaîne :
cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
output.append(str(row[4]))
Ou à un flottant :
cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
output.append(float(row[4]))
Le convertir en flottant lui fera perdre toute sa précision, donc une valeur comme 20,24 deviendra 20,239999999999998.
De plus, le convertir en flottant lèvera une exception si la valeur est None
. Pour éviter cela, vous pouvez utiliser une fonction d'assistance comme celle-ci :
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])