2017-01-22 25 views
-1

からデータを読み取ることができませんが、私のコードと、入力ファイルclick hereのペーストビンリンクです:私はここで、以下の入力ファイルを読み込むしようとしています入力ファイル

1  42.5340919495 4.22926330566 
2  41.3636322021 2.87980079651 
3  38.7423553467 3.40052604675 
4  36.631401062 2.33657073975 
5  35.0620422363 3.57421207428 

これは私が入力を生成しています方法ですファイル:

with open("position/output.dat", 'r') as f: 
    x = [] 
    y = [] 
    z = [] 
    for line in f: 
     if not line.strip() or line.startswith('@') or line.startswith('#'): 
      continue 
     row = line.split("\t") 
     x.append(float(row[0])) 
     y.append(float(row[1])) 
     z.append(float(row[2])) 

x = np.asarray(x) 
y = np.asarray(y) 
z = np.asarray(z) 

が、私はPRとき:

with open('position/output.dat','a') as output: 

    for i in range(0, len(position_mean)): 

     output.write('{}\t{}\t{}'.format(i+1, position_mean[i] , position_std[i]) + "\n") 

output.close() 

これは、私は、入力ファイルを読んでいる方法ですint x、y、z、出力は表示されません。ここで起こりうるエラーは何でしょうか?

+0

実際の字下げを表示してください! – schwobaseggl

+1

正しい字下げで、適切なprint文を追加し、 'line.split(" \ t ")'を 'line.split(')に変更した後に、 'x'、' y'、 ) ')。私はこの問題を再現できない問題としてクローズすることに投票しています。 – Tagc

答えて

0

あなたのインデントが原因で問題が発生している可能性があります。

with open("stack_test.txt", 'r') as f: 
    x = [] 
    y = [] 
    z = [] 
    for line in f: 
     if not line.strip() or line.startswith('@') or line.startswith('#'): 
      continue 
     row = line.split("\t") 
     x.append(float(row[0])) 
     y.append(float(row[1])) 
     z.append(float(row[2])) 

    x = np.asarray(x) 
    y = np.asarray(y) 
    z = np.asarray(z) 
+0

私は83%がOPが実際に実行されているコードで、コード内のインデントの問題は彼の投稿の書式設定エラーであることを確信しています。 – Tagc

+0

@Tagc申し訳ありませんが、私のインターネットはダウンしていました。返信できませんでした。あなたは83%の権利を持っていましたが、ポストフォーマットの問題でした。 –

関連する問題