2017-01-22 3 views
-1

Ich versuche, die folgende Eingabedatei zu lesen, ist der Pastebin Link meines Codes und Eingabedatei click here:Nicht in der Lage Daten aus der Eingabedatei lesen

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 

Dies ist, wie ich den Eingang am Erzeugen Datei:

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() 

Dies ist, wie ich die Eingabedatei lese:

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) 

aber wenn ich pr int x, y, z, keine Ausgabe wird angezeigt. Was könnte der mögliche Fehler hier sein?

+0

Zeigen Sie die tatsächliche Einrückung! – schwobaseggl

+1

Bei korrekter Einrückung druckt * * die Ausgabe für 'x',' y' und 'z' (nach dem Hinzufügen der entsprechenden print-Anweisungen und dem Ändern von' line.split ("\ t") 'in' line.split () '). Ich stimme zu, dies als ein Problem zu schließen, das nicht reproduziert werden kann. – Tagc

Antwort

0

Ihr Einzug scheint das Problem zu verursachen.

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

Ich bin 83% sicher, dass dies der Code ist OP läuft tatsächlich und die Einrückung Probleme in seinem Code sind nur ein Formatierungsfehler in seinem Beitrag. – Tagc

+0

@Tagc Sorry, mein Internet war ausgefallen. Konnte nicht antworten. Sie hatten 83% Recht, aber es war ein Postformatierungsproblem. –