Python mysql fetchall() returns 附加字符

Python mysql fetchall() returns additional characters

我正在尝试从 table 中检索值以用于计算。下面的代码

mycursor = mydb.cursor()

mycursor.execute("SELECT number FROM info")

rows = mycursor.fetchall()

print (rows)

这个returns这个列表

[(Decimal('30.00'),), (Decimal('66.00'),), (Decimal('72.00'),)]

如何仅在列表或元组中检索数值,如

[30.00, 66.00, 72.00]

mydb 中的原始数据类型可能是 Decimal 对象。 因此,您可以在 MySQL 查询或 python 代码中转换数据类型。

1) MySQL 中的案例:

SELECT CAST(number AS DOUBLE) FROM info

但是此代码 return 将提取的行作为 [(30.00,), (66.00,), (72.00,)] 因为元组代表查询结果的列。

2) python 代码中的案例:

converted_rows = list(map(lambda row:float(row[0]), rows))

它将 return [30.00, 66.00, 72.00] 列出。