2016-08-12 5 views
1

私は結果は8つの要素長く、数字の1次元numpyの配列になるようにこれらを読むための最も標準的な方法だろうどのようなファイルでいくつかの数字複数の数値のファイルを1次元のnumpy配列に読み込む方法は?

8.89661443042575  17.8003874198066  17.8003323639473 
    43.9969250561223  4.51593232168458  0.000000000000000E+000 
    0.000000000000000E+000 0.000000000000000E+000 

がありますか?

+1

が '' '各行で言いますテキストファイルの値は同じでなければなりません。この例では無効です。 – sascha

+1

@gelezkoこれは試しましたか? "ValueError:3行目の列数が間違っています"というエラーは表示されませんでしたか? –

答えて

0

は、最も効率的なコード(私は仮定)が、それは動作します:

import numpy as np 

a = [] 
with open('file.txt') as temp_file: 
    for i in temp_file: 
     a.append(i.split()) # removes whitespaces and split into one list per row 
np_array = np.asarray([float(item) for sublist in a for item in sublist]) # flatten, str->float, create-array 
1

これを行う簡単な方法は次のとおりです。ドキュメント@gelezko

with open('data.txt', 'r') as f: 
    a = np.array([float(field) for field in f.read().split()]) 
関連する問題