SQLalchemy比赛计时器到数字转换

时间:2018-03-23 09:59:06

标签: python sqlalchemy

我正在从SQL数据库表中选择高山滑雪比赛时间的数据,以便在python中使用SQLalchemy Core进行分析。我的表中的一个列timetot结果表示存储为字符串的计时器值。时间字符串字符串的示例是“1:53.54”(分钟:秒。毫秒),我想将其转换为浮点数113.54(秒)。
我目前正在使用这段非常繁琐的代码将此计时器字符串转换为数字:

from sqlalchemy import Select, cast, func, Numeric

stmt = select([cast(func.substring(result.c.timetot, 1,1), 
Numeric)*60 + cast(func.substring(result.c.timetot, 3,9), 
Numeric(6,2))])

我有两个问题:

1.有没有人有更好的(即更紧凑)方式进行这种转换?

2.我在表中还有两列用于执行相同的转换,是否可以使用SQLalchemy以某种方式定义函数以避免重复代码?


我正在使用SQLAlchemy版本1.1.13和Python 3.6.3


谢谢!

0 个答案:

没有答案