2015-08-13 32 views
0

我使用格式爲DD days, HH:MM:SS的代表時間幀的字符串進行加載,並且我想創建一個圖表,其中這些時間範圍是表達式。這意味着我需要將它們轉換成類似數字的格式。 Interval()似乎沒有工作。有任何想法嗎?在裝入DD days, HH:MM:SS以外的東西之前,我應該重新格式化字符串,以便它更容易使用嗎?將字符串轉換爲時間間隔(?)

+0

我不明白這種格式?例如,從2015/05/05 14:00到2015/05/06 16:00顯示的時間將如何?一旦我明白我們可以通過一些字符串操作和各個部分的乘法運算來完成這一切,QlikView將會理解這一點 –

+0

這將顯示爲「1 day,2:00:00」 – NoSocks

+0

會很簡單QlikView本身: =間隔(間隔#(替換('1天02:00:00','天','。'),'Dh:mm:ss'),'DD.hh:mm:ss') – ralfbecher

回答

1

有很多方法可以解決這個問題。您在加載之前重新格式化的想法聽起來很不錯,因爲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() 
+1

無論如何,這些值都來自Python腳本,所以這會很好。謝謝! – NoSocks

+0

真棒,祝你好運! –

相關問題