2017-06-22 5 views
0

長い計算の後、次の文字列を含むファイルがあります。ValueError:文字列をfloatに変換できませんでした: "nbformat":4

(各文字列は「\ tの」で区切られ、各ラインの末尾に「\ n」を有している。)

0.0000008375000 829.685601736 555.939928236 
0.0000008376000 829.511081539 555.889353246 
0.0000008377000 829.336613968 555.838785601 
0.0000008378000 829.162199002 555.7882253 
0.0000008379000 828.987836621 555.737672342 
0.0000008380000 828.813526805 555.687126727 
0.0000008381000 828.639269533 555.636588453 

その後、私は、これらのファイルをプロットすることを試みました。 (ファイルの名前はPで始まっています)。

fList = np.array(gl.glob("P*")) 
for i in fList: 
    f = open(i, "r") 
    data = f.read() 
    data = data.replace("\n", "\t") 
    data = np.array(data.split("\t"))[:-1].reshape(-1,3) 
    plt.plot(data[:,0], data[:,1], label=i) 

その後、次のエラーが発生しました。

ValueError: could not convert string to float: "nbformat": 4, 

私がきた

([::、0]、データ[1]、ラベル= i)はエラーポインタが、これはラインplt.plot(データで起こっ示します)いくつかのチュートリアルやチュートリアルを参照しましたが、残念ながらこの問題を解決する方法を理解できませんでした。どんな助けや助言も非常に感謝しています。

あなたが直接3つのアレイにファイルを読み込むためにnumpyのを使用することができます

答えて

1

import numpy as np 
import matplotlib.pyplot as plt 
from glob import glob 

fList = glob("P*") 
for i in fList: 
    x,y,z = np.loadtxt(i, unpack=True) 
    plt.plot(x,y, label=i) 

plt.legend() 
plt.show() 
+1

またはそのこと 'データ= np.loadtxt(I)のための単一のアレイに' – jadsq

+0

はあなたにImportanceOfBeingEmestとjadsqをありがとうございました! ファイル名自体が問題であることを知りました:(。 コードが正常に動作しています。ファイル名を明示的に変更して、操作を妨げないようにしました。 –

+0

ありがとうございます。私は答えを受け入れると思ったが、明らかにそうではなかった。 –

関連する問題