使用 Python 将 MySQL 中的 Float 读入字典
Read Float from MySQL into dictionary with Python
我正在尝试从我的 MySQL 数据库中读取值,并使用 mysql 连接器将它们存储在 Python 中的字典中。
我的数据库有 3 列 (MDK, JT, tp
),看起来像这样:
`1 1 1.9
1 2 1.77
1 3 2.5
2 1 1.9
2 2 1.77
2 3 2.5 `
到目前为止我试过:
import mysql
import mysql.connector
conn = mysql.connector.connect(....)
mycursor = conn.cursor(dictionary = True)
query = ("SELECT * FROM 'test'")
mycursor.execute(query)
tp = {}
for row in mycursor:
tp[row["MDK"], row["JT"]] = float(row["tp"])
mycursor.close()
目前保存在dict中的值为:
`tp[1,1] = 1
tp[1,2] = 1
tp[1,3] = 2
tp[2,1] = 1
tp[2,2] = 1
tp[2,3] = 2`
如你所见,只保存了整数,但我需要浮点数。感谢您的帮助!
这可能是因为你如何输出tp
的值。您确定您没有使用 %d
来显示浮点值吗?
换句话说,试试运行
print(["tp[%d,%d]=%4.2f\n"%(i, j, tp[i,j]) for i in range(1, 3) for j in range(1, 4)])
注意%4.2f
,这是用来显示浮点数的
我在 MySQL 中将变量声明为 Decimal,这导致 python 接受正确的值。不幸的是,如果我将它们声明为 Float
,我无法解释为什么它不起作用
我正在尝试从我的 MySQL 数据库中读取值,并使用 mysql 连接器将它们存储在 Python 中的字典中。
我的数据库有 3 列 (MDK, JT, tp
),看起来像这样:
`1 1 1.9
1 2 1.77
1 3 2.5
2 1 1.9
2 2 1.77
2 3 2.5 `
到目前为止我试过:
import mysql
import mysql.connector
conn = mysql.connector.connect(....)
mycursor = conn.cursor(dictionary = True)
query = ("SELECT * FROM 'test'")
mycursor.execute(query)
tp = {}
for row in mycursor:
tp[row["MDK"], row["JT"]] = float(row["tp"])
mycursor.close()
目前保存在dict中的值为:
`tp[1,1] = 1
tp[1,2] = 1
tp[1,3] = 2
tp[2,1] = 1
tp[2,2] = 1
tp[2,3] = 2`
如你所见,只保存了整数,但我需要浮点数。感谢您的帮助!
这可能是因为你如何输出tp
的值。您确定您没有使用 %d
来显示浮点值吗?
换句话说,试试运行
print(["tp[%d,%d]=%4.2f\n"%(i, j, tp[i,j]) for i in range(1, 3) for j in range(1, 4)])
注意%4.2f
,这是用来显示浮点数的
我在 MySQL 中将变量声明为 Decimal,这导致 python 接受正确的值。不幸的是,如果我将它们声明为 Float
,我无法解释为什么它不起作用