2013-03-22 39 views
0

我正在運行一些python和pyfits的代碼,我正在從頭文件讀出一行信息。我得到了正確的線,但由於它是如何寫在頭上的,它用分號打印出我需要的數字。python pyfits,閱讀標題信息和在計算中使用

我運行線是 打印頭[0] .header [ '奧普']

此打印 34:04:32.04

我需要做一個計算,其中我添加這些數字在一起,但不知道如何做,因爲它們被冒號分隔。誰能幫忙?

回答

1

像這樣的東西應該解決您的問題:

header[0].header['opp'] = "34:04:32.04" 
print (sum(float(x) for x in header[0].header['opp'].split(":"))) 

...它輸出:

70.03999999999999 

(EDIT)

或者,如果實際值彌補了時間小時,分,秒:

s = "34:04:32.04" 
ss = [float(x) for x in s.split(":")] 
print (ss[0] + ss[1]/60 + ss[2]/3600) 

...,用於輸出時間值:

34.07556666666667 
+0

驚人謝謝你,在實際工作中的計算,我需要做的是, 34 + 4/60±32.04/3600 是有可能做到這一點? – astrochris 2013-03-22 23:02:05

+0

列表理解是美好的事情。我已經修改了我的答案來做你需要的計算。 – Simon 2013-03-22 23:08:47

+0

太神奇了,謝謝 – astrochris 2013-03-22 23:13:35