Seite 1 von 1

numpy.loadtxt ...

Verfasst: Montag 10. November 2014, 14:07
von lena_92
Hallo,

habt ihr schon mal einen Fehler beim benutzten des numpy.loadtxt Moduls gehabt.
siehe:
http://docs.scipy.org/doc/numpy/referen ... py.loadtxt

Dabei benutzte ich den Befehl usecols.

Code: Alles auswählen

myarray = np.loadtxt('vergleichen.txt', delimiter=',', usecols=(0,))
Hierbei möchte ich nur die erste Spalte laden und dann weiter verarbeiten. Dies klappt auch wunderbar. Allerdings fehlt bei mir immer der letzte Ausdruck meines Arrays. Dies ist unabhängig von der Zeilenanzahl.

Hat da jmd. schon Erfahrungen gesammelt? Kann mir jmd. einen Tipp geben, ob ich etwas vergessen habe?

Grüße
Lena

Re: numpy.loadtxt ...

Verfasst: Montag 10. November 2014, 14:32
von darktrym
Ich interpoliere das mal dir fehlt die letzte Zeile(row) im Datensatz. Kann es sein, das es vom Schema abweicht?

Re: numpy.loadtxt ...

Verfasst: Montag 10. November 2014, 14:42
von BlackJack
Ich stocher auch mal im Nebel: Wird die Datei zeitnah erzeugt und die Daten sind noch nicht alle geschrieben weil zum Beispiel vergessen wurde die Datei zu schliessen‽

Re: numpy.loadtxt ...

Verfasst: Montag 10. November 2014, 15:07
von lena_92
@ darktrym und @BlackJack

Vielen Dank für eure schnelle Hilfe.
Es lag scheinbar wirklich daran, dass ich die Datei nicht geschlossen hatte.
Nun habe ich mit

Code: Alles auswählen

with open('Zwischenablage.txt', "a") as zwischenablage: 
gearbeitet und es funktioniert.

Danke
Lena

Re: numpy.loadtxt ...

Verfasst: Montag 10. November 2014, 16:06
von MagBen
Wenn Du Daten aus einer Datei plotten willst noch während ein anderes Programm diese Datei erzeugt, dann kommt es oft vor, dass die letzte Zeile nicht vollständig geschrieben worden ist. In diesem Fall kannst Du numpy.genfromtxt nehmen mit dem Parameter invalid_raise=False

Code: Alles auswählen

myarray = np.loadtxt('vergleichen.txt', delimiter=',', usecols=(0,), invalid_raise=False)
http://docs.scipy.org/doc/numpy/referen ... genfromtxt