将字符串转换为时间间隔(?)

Convert a string into a time interval (?)

我正在加载表示格式为 DD days, HH:MM:SS 的时间范围的字符串,我想创建一个图表,其中这些时间范围是表达式。这意味着我需要将它们转换成某种类似数字的格式。 Interval() 似乎不起作用。有任何想法吗?我是否应该在加载到 DD days, HH:MM:SS 以外的其他内容之前重新格式化字符串,以便它更容易使用?

有很多方法可以解决这个问题。您在加载之前重新格式化的想法听起来是个不错的选择,因为 QlikView 不支持正则表达式。

我认为解决您的问题的最佳方法是编写一个简单的 Python 脚本,用冒号替换空格、逗号和字母。然后,您将获得 DD:HH:MM:SS 格式的更可行的字符串。当然,这假设您有一个可以轻松调整的平面文件:

import re
myreg = re.compile('(\s(day|days),\s)')    ## we'll look for " day, " and " days, "
newfilestr = ""
with open('myfile.txt', 'r') as myfile:
    for line in myfile:
        newfilestr += re.sub(myreg, ':', line)
outputf = open('fixedtimeformat.txt', 'w')
outputf.write(newfilestr)
outputf.close()