2017-10-05 23 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:フロートのための無効なリテラル():

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

:25544U

ここでは私のファイルのデータの最初の2行はあります

また、[0,3] = 98324.28472222の最初の2桁(98)にアクセスする方法はありますか?

+0

あなたの期待することは私には不明です。まさに「a」はどうでしょうか?その中に数字のある要素は無視してください。 –

+0

私は文字を無視して、番号 – Rose

+0

を使用したいので、[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) 

など25544Uなどの文字、とTLEのすべての値は、ナンとして表示されます。単なる数値である値は正常であり、正常にアクセスできます。

関連する問題