【发布时间】:2018-09-12 14:34:12
【问题描述】:
我在数据框中有一列具有 PT7M37S 类型值,我想将它们全部转换为持续时间的秒数。我正在考虑使用正则表达式匹配字符串,然后解析整数。
这是我目前的代码:match = re.match('PT(\d+H)?(\d+M)?(\d+S)?', duration).groups()
hours = _js_parseInt(match[0]) if match[0] else 0
minutes = _js_parseInt(match[1]) if match[1] else 0
seconds = _js_parseInt(match[2]) if match[2] else 0
还有其他方法吗?
【问题讨论】:
-
如果可行,您可能应该将问题发布到Code Review。
-
重新发明轮子有什么特别的原因吗?有现成的库可以更好地完成这方面的工作。
-
很遗憾,图书馆不适合我
-
@AbhinavDixit 那么要么你做错了,要么你在问题中歪曲了数据。 PT7M37S 将被解析,至少 isodate 库没有任何问题。
标签: regex python-3.x pandas