4 Stimmen

Schreiben csv Header entfernt Daten aus numpy Array geschrieben unten

Ich versuche, Daten in eine csv-Datei zu exportieren. Sie sollte eine Kopfzeile (aus datastack) und neu gestapelte Arrays mit meinen Daten (aus datastack) enthalten. Eine Zeile in datastack hat die gleiche Länge wie dataset. Der unten stehende Code funktioniert, aber er entfernt Teile der ersten Zeile aus datastack. Hat jemand eine Idee, woran das liegen könnte?

s = ','.join(itertools.chain(dataset)) + '\n'
newfile = 'export.csv'
f = open(newfile,'w')
f.write(s)
numpy.savetxt(newfile, (numpy.transpose(datastack)), delimiter=', ')
f.close()

6voto

fmark Punkte 53936

Sie eine Datei mit dem Dateinamen 'export.csv' zweimal, einmal beim Aufruf open() und einmal, wenn Sie anrufen numpy.savetxt() . Es gibt also zwei offene Datei-Handles, die um denselben Dateinamen konkurrieren. Wenn Sie das Dateihandle und nicht den Dateinamen an numpy.savetxt() vermeiden Sie diese Wettlaufbedingung:

s = ','.join(itertools.chain(dataset)) + '\n'
newfile = 'export.csv'
f = open(newfile,'w')
f.write(s)
numpy.savetxt(f, (numpy.transpose(datastack)), delimiter=', ')
f.close()

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X