Du kan enten konvertere et decimalobjekt til en streng:
cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
output.append(str(row[4]))
Eller til en flyder:
cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
output.append(float(row[4]))
Konvertering af den til en float vil få den til at miste sin fulde præcision, så en værdi som 20,24 bliver til 20,2399999999999998.
Også, hvis du kaster den til en float, vil der opstå en undtagelse, hvis værdien er None
. For at undgå det kan du bruge en hjælpefunktion som denne:
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])