2017-10-05 89 views
0

我正在嘗試訪問Python中的空間站的TLE文件中的數據。但是,由於TLE具有數字和字母,因此在讀取數據時遇到了麻煩。我不需要任何字母,並希望它是嚴格的數字。np.loadtxt()如何將TLE衛星txt文件讀入Python

代碼:

import numpy as np 

fname = 'zarya.txt' 
a = np.loadtxt(fname) 

yearDigit = a[0,3] 
print(yearDigit) 
#year = a[:,] 
#dayOfYear = a[:,3] 
#fractionDay = a[:,7] 

錯誤: ValueError異常:無效的文字浮法():25544U

下面是我的文件數據的前兩行:

1 25544U 98067A 98324.28472222 -.00003657 11563-4 00000+0 0 10

2 25544 51.5908 168.3788 0125362 86.4185 359.7454 16.05064833 05

另外,有沒有辦法只訪問[0,3] = 98324.28472222的前兩位數字(98)?

+0

我不清楚你的期望。究竟應該是什麼?只要忽略其中包含數字的任何元素? –

+0

我想忽略這些字母,只是使用數字 – Rose

+0

因此,a [0 ,:] = 1 25544 98067 98324.28472222 -.00003657 11563-4 00000 + 0 0 10 – Rose

回答

0

如果您不需要任何帶有字母的TLE值,則此解決方案將適用於您。

import numpy as np 

filename = 'zarya2000data.txt' 
a = np.genfromtxt(filename) 

當您打印數據時,帶字母的TLE中的所有值(如25544U)都將顯示爲nan。正常情況下,數字的值將很好,並且可以訪問。