numpy recfromcsv und genfromtxt überspringt die erste Zeile der Daten-Datei
numpy ist recfromcsv überspringt die erste Zeile meiner Daten. (Das gleiche gilt für genfromtxt)
import numpy as np
filename = 'data.csv'
writer = open(filename,mode='w')
writer.write('0,1.1,1.2\n1,2.1,2.2\n2,3.1,3.2')
writer.close()
data = np.recfromcsv(filename)
print data
Ist das ein bug, oder wie kann ich die Daten laden ohne Verlust der ersten Zeile?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Standard-erste Zeile einer csv-Datei enthält die Feldnamen.
Die Funktion
recfromcsv
aufrufengenfromtxt
mit Parameternames=True
als Standard. Es bedeutet, dass Sie Lesen die erste Zeile der Daten als Kopfzeile.Definition:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html
Sollten Sie es schreiben, bevor das array.
Oder verwenden Sie
recfromtxt
stattrecfromcsv
.Oder überschreiben Sie den Standardnamen, wie
Können Sie hinzufügen
skiprow=0
zu halten recfromcsv vom überspringen der ersten Zeile.Das Standard-Verhalten von
recfromcsv
zu Lesen ist, eine Kopfzeile, die ist, warum es ist, das überspringen der ersten Zeile. Es funktioniert bei mir mitgenfromtxt
(wenn ich passdelimiter=','
). Können Sie uns die Ausgabe zeigen, wiegenfromtxt
ausfällt?Leider scheint es einen bug in Numpy, die nicht zulassen, geben Sie den dtype in
recfromcsv
(siehe https://github.com/numpy/numpy/issues/311), so kann ich nicht sehen, wie zu Lesen, das mit dem angegebenen Spaltennamen, die ich denke, ist, was Sie tun müssen, um zu vermeiden das Lesen der Kopfzeile. Aber Lesen Sie die Daten in die mitgenfromtxt
.Edit: Es sieht aus wie Sie es Lesen können in nur indem Sie übergeben eine Liste von Namen:
(Der Grund, warum es nicht funktioniert für mich ist, die ich getan hatte
from __future__ import unicode_literals
und es anscheinend nicht wie unicode in dtypes.)recfromcsv
Sie können auch angeben, das Schlüsselwortdtype=None