Decimalオブジェクトを文字列に変換することができます:
cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
output.append(str(row[4]))
またはフロートに:
cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
output.append(float(row[4]))
フロートに変換すると完全な精度が失われるため、20.24のような値は20.239999999999998になります。
また、値がNone
の場合、floatにキャストすると例外が発生します 。これを回避するには、次のようなヘルパー関数を使用できます。
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])