Python 使用Sqlalchemy从Oracle获取十进制数据
使用Python 使用Sqlalchemy从Oracle获取十进制数据,python,oracle,sqlalchemy,Python,Oracle,Sqlalchemy,使用sqlalchemy QUERY = SELECT score as SCORE FROM USER1.TABLE1 WHERE id = 101 ORDER BY score DESC output = [] results = db.engine.execute(QUERY) [output.append(dict(row)) for row in results] 输出: [{'score':十进制('0.9556')},…] 分数数据类型-数字(16,14) 即使在用大写字母对其
sqlalchemy
QUERY = SELECT score as SCORE FROM USER1.TABLE1 WHERE id = 101 ORDER BY score DESC
output = []
results = db.engine.execute(QUERY)
[output.append(dict(row)) for row in results]
输出:
[{'score':十进制('0.9556')},…]
分数数据类型-数字(16,14)
十进制数吗?
SELECT CAST(score as FLOAT) as SCORE FROM USER1.TABLE1 WHERE id = 101 ORDER BY score DESC
我得到的输出像
[{'score':0.9191699999999},…]
通过添加代码块,使用
计数器
类可能是一个不错的选择
from collections import Counter
str=output[0]
c = Counter()
for k,v in str.items():
c.update({k.upper(): '{0:f}'.format(v)})
print(c)
到原始代码的以下部分。通过这种方式,您可以得到如下输出:
计数器({'SCORE':'0.9556'})
尝试将作为..
@KaushikNayak的“SCORE”进行评分仍然很小好,我不熟悉sqlalchemy
如何处理这些病例。我通常使用Cx_Oracle查询Oracle数据库。通常,Oracle的SQL引擎默认情况下会将所有标识符转换为大写。确实不需要双引号。所以,它是小写的,这意味着它必须和sqlalchemy的一些设置有关,sqlalchemy将它转换为小写。