Я запускаю запрос MySql в Python, используя следующий код:
cur = conn.cursor()
query = ("""select sum(if(grade is not null,1,0)) as `test`,
sum(if(grade < 7,1,0)) as `bad`,
sum(if(grade < 7,1,0))/sum(if(grade is not null,1,0))*100 as `Pct Bad Grade`,
student
from grades_database
where test_date >= '2014-08-01'
group by student
order by `Pct Bad Grade` desc;""")
cur.execute(query)
и я получаю результат что-то вроде
(Decimal('1'), Decimal('3'), Decimal('50.0000'), 'John Doe')
Мне нужно удалить строку «Десятичная» перед значениями.
Я попытался использовать следующее из Прошлый пример
output = []
for row in cur:
output.append(float(row[0]))
print output
Но это дает мне это
[20.0, 5.0, 3.0, 7.0, 7.0, 2.0, 6.0, 7.0, 7.0, 7.0,...]
В идеале я хотел бы изменить порядок вывода и получить что-то вроде
(John Doe, 50, 3, 1)]
из
(Decimal('1'), Decimal('3'), Decimal('50.0000'), 'John Doe')
Decimal
более точны, чем объектыfloat
. Когда вы печатаете или записываете данные, вы получите только числовое значение, например:print Decimal('50.0000')
дает:50.0000
. - person mechanical_meat   schedule 10.10.2014