Seite 1 von 1

Bestimmte Werte nicht mit einlesen

Verfasst: Samstag 11. Juli 2015, 14:26
von tine_beginner
Hallo zusammen,

mit dem folgenden Code lese ich Dateien aus einem Verzeichnis ein. Ich würde allerdings gerne Werte unter -10 nicht mit einlesen. Könnt ihr mir da weiterhelfen, wie und wo ich da was für eine Funktion einbauen muss? Also am besten direkt mit in der for-Schleife? Ich weiß, dass es z.B. die numpy.compress() Funktion gibt, habe es allerdings noch nicht so richtig herausgefunden ob und wie ich das hier anwenden könnte:

Code: Alles auswählen

# Module importieren
import numpy as np
import glob

# Dateien im Verzeichnis ansprechen
daten = glob.glob('*.csv')

# Liste zum befuellen erstellen
Liste = [] 

# Schleife
for each_file in daten:   
    try:
        with open(each_file) as data:
            b = np.genfromtxt((line.replace(',','.') for line in data),skip_header=9,delimiter=";")
    except ValueError:
        with open(each_file) as data:
            b = np.genfromtxt((line.replace(',','.') for line in data),skip_header=17,delimiter=";")

Liste.append(b)
Ich danke herzlich für jede Hilfe.

Re: Bestimmte Werte nicht mit einlesen

Verfasst: Sonntag 12. Juli 2015, 12:49
von Sirius3
@tine_beginner: das ist eine seltsame Methode, herauszufinden, wie viele Header-Zeilen eine Datei hat. Warum gibt es da zwei verschiedene? Du liest eine Matrix ein, welche Spalten oder welche Zeilen sollen dann nicht berücksichtigt werden, wenn welcher Wert <10 ist?

Re: Bestimmte Werte nicht mit einlesen

Verfasst: Sonntag 12. Juli 2015, 13:36
von tine_beginner
@Sirius3: es sind sehr viele Dateien die entweder 9 oder 17 Zeilen Header enthalten. Mir sind die Positionen innerhalb der Matrix egal (Dimension ist 480x640), es sollen einfach Werte unter -10 (es handelt sich um Temperaturdaten) nicht mit eingelesen, als herausgefiltert werden. Die Dateien bestehen nur aus Temperaturdaten, in allen Zeilen und Spalten sind also jeweils Temperaturwerte, von denen ich am Ende nur Mittelwerte etc. pro Datei berechnen möchte.
Hast du da eine Idee?

Re: Bestimmte Werte nicht mit einlesen

Verfasst: Sonntag 12. Juli 2015, 14:21
von Sirius3
@tine_beginner: was ist denn nun der Unterschied zwischen den Dateien mit 9 oder 17 Headerzeilen?
Du kannst Dir mal die Dokumentation für Elementzugriffe durchlesen.

Re: Bestimmte Werte nicht mit einlesen

Verfasst: Sonntag 12. Juli 2015, 14:54
von tine_beginner
@Sirius3: außer dass die Anzahl der Headerzeilrn unterschiedlich ist, gibt es keinen Unterschied. Dort stehen einfach einige Infos, die nicht benötigt werden. Ab der 10. bzw. 18. Zeile haben alle Dateien eine Dimension von 480x640.