2016-03-27 13 views
1

Ich versuche CSV-Dateien zu lesen, die von einem Code erzeugt wurden, den ich auf meinem Raspberry Pi geschrieben habe. Derzeit gibt die Raspberry Pi gibt Daten mit ein paar Zeilen von Warnungen oder Daten in den ersten Zeilen, und dann den Datenstrom als numerische Werte wie folgt:Python: Nicht-numerische Daten aus der CSV-Datei entfernen

MMA init error = -82   
MMA init error = 0  
MMA init pass ID = 26  
MMA Sensor Connected 4744 56100 
65232 4744 56100 
65232 4744 56100 
65232 4744 56100 
65232 4744 56100 

ich eine Art und Weise will durch diesen in der Lage sein zu analysieren und entfernen Sie alle Zeilen mit Fehlern und Informationen, so dass die anderen Daten bei der Analyse der numerischen Daten nicht berücksichtigt werden. Gibt es eine Möglichkeit dazu, ähnlich wie in MATLAB, einfach filename.data schreiben?

+0

Sie einen regulären Ausdruck nur nutzen könnten, um Linien zu finden, die '^ übereinstimmen [\ d \ s] +' $. –

Antwort

0
# coding: utf-8 

data =[] 
with open(filename) as f: 
    for line in f.readlines(): 
     fields = line.split('\t') 
     if fields[0].isdigit(): 
      data.append(fields) 

oder Verwendung Pandas

from pandas import read_table 
# if you know first row data shows up in 
data = read_table(filename, header=firstrowdata) 
Verwandte Themen