Извлечение десятичных данных из Oracle с помощью Sqlalchemy - PullRequest
0 голосов
/ 09 мая 2019

Выполнение SQL через Oracle, используя 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': Decimal ('0.9556')}, .....]

тип данных счета - число (16,14)

  1. Даже после наложения его в верхнем регистре я получаю строчные буквы.
  2. Можем ли мы удалить Decimal на выходе?

Я пробовал ставить счет как float

 SELECT CAST(score as FLOAT) as SCORE FROM USER1.TABLE1 WHERE id = 101 ORDER BY score DESC

Я получаю вывод, как,

[{'score': 0.9191699999999999}, .....]

1 Ответ

0 голосов
/ 09 мая 2019

Использование Counter класса может быть хорошим вариантом, добавив блок кода

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)  

к приведенной ниже части вашего исходного кода. Таким образом, вы получите вывод как

Counter({'SCORE': '0.9556'})

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...