用python将mysql中的float读入字典

nzrxty8p  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(314)

我正在尝试从mysql数据库中读取值,并使用mysql连接器将它们存储在python中的dict中。我的数据库有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`

如您所见,只保存整数,但我需要浮点。谢谢你的帮助!

pdkcd3nj

pdkcd3nj1#

我在mysql中将变量声明为decimal,这使python接受正确的值。不幸的是,我不能解释为什么它不工作,如果我宣布他们为浮动

ibrsph3r

ibrsph3r2#

这可能是因为你是如何输出 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 ,用于显示浮动

相关问题