numpy.loadtxt ...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
lena_92
User
Beiträge: 28
Registriert: Donnerstag 24. Juli 2014, 15:00

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
Benutzeravatar
darktrym
User
Beiträge: 785
Registriert: Freitag 24. April 2009, 09:26

Ich interpoliere das mal dir fehlt die letzte Zeile(row) im Datensatz. Kann es sein, das es vom Schema abweicht?
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
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‽
lena_92
User
Beiträge: 28
Registriert: Donnerstag 24. Juli 2014, 15:00

@ 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
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

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
a fool with a tool is still a fool, www.magben.de, YouTube
Antworten