【发布时间】:2021-11-22 06:04:13
【问题描述】:
我正在尝试使用read_sql_query() 从 MySQL 数据库中读取查询,数据库中的字段之一,它的类型是double(24, 8),我想使用dtype= 参数来完全控制数据类型并读给decimal,但似乎熊猫无法识别decimal类型所以我不得不读给Float64
在数据库中,该字段的值如下所示:
Value
100.96000000
77.17000000
1.00000000
0.12340000
然后我尝试从 Python 代码中读取它:
from decimal import *
dtypes = {
'id': 'Int64',
'date': 'datetime64',
'value': 'Float64'
}
df = pd.read_sql_query(sql_query, mysql_engine, dtype=dtypes)
但是从上面的代码中读取数据后,看起来是这样的:
Value
100.96
77.17
1.0
0.1234
如何将本专栏读到decimal 并保留所有数字?谢谢。
【问题讨论】:
-
一个数字可以用多种方式表示。向我们展示生成
0.12340000的代码、读取该代码的代码以及显示0.1234的代码。 -
嗨,我没有生成
0.12340000的代码(这就是我要问的一点),这就是数据库中数据的样子。代码正在生成0.1234是我问题顶部的代码。 -
请向我们展示读取数据并显示的代码
100.96.
标签: python mysql pandas decimal read-sql