Du kan antingen konvertera ett decimalobjekt till en sträng:
cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
output.append(str(row[4]))
Eller till en flottör:
cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
output.append(float(row[4]))
Om du konverterar den till en float kommer den att förlora sin fulla precision, så ett värde som 20.24 blir 20.2399999999999998.
Om du kastar den till en float kommer det också att höja ett undantag om värdet är None
. För att undvika det kan du använda en hjälpfunktion så här:
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])