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]
列出。
我正在尝试从 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]
列出。