求教将时间转换为浮点数的python 实现方法

levizhong 2010-09-07 04:22:19
感谢达人。

我想把csv 文件中的 2:00:00 换成 120 min,把2:30:00 换150 min,把2:30:30 换成 150.5 min 这样子,即 小时数x60+分钟+秒数/60 。

有这样的Python 函数吗?我找了一下帮助档没找着,或者说需要其它的算法?

非常感谢!!
...全文
262 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
notax 2010-09-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 angel_su 的回复:]

用内建str.split(':')拆解成3份再算一下应该就可以,或者试试time模块:

>>> import time
>>> s = "2:30:30"
>>> t = time.strptime(s, "%H:%M:%S")
>>> t.tm_hour*60 + t.tm_min + t.tm_sec/60.
150.5
>>>
[/Quote]

这个不错,想不出更好的
levizhong 2010-09-08
  • 打赏
  • 举报
回复
angel_su 的方法相当好,我已经调试成功~~

继续学习~~day day up ~~
angel_su 2010-09-07
  • 打赏
  • 举报
回复
用内建str.split(':')拆解成3份再算一下应该就可以,或者试试time模块:

>>> import time
>>> s = "2:30:30"
>>> t = time.strptime(s, "%H:%M:%S")
>>> t.tm_hour*60 + t.tm_min + t.tm_sec/60.
150.5
>>>
lokii 2010-09-07
  • 打赏
  • 举报
回复
用正则表达式截一下:

import re

pat = re.compile("(\d){,2}\:(\d){,2}\:(\d){,2}")

s = "2:30:30"
min = 0

m = pat.search(s)
if m:
min = int(m.group(1)) * 60 + int(m.group(2)) + int(m.group(3))/60.0

print min

37,738

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧