Seite 1 von 1

Werte in Spalten schreiben

Verfasst: Dienstag 23. Mai 2017, 11:03
von Ede1994
Hallo.
Folgendes Problem:
Ich möchte gerne zwei Listen in zwei getrennte Spalten schreiben (txt-file), etwa so:
t1 a1
t2 a2
usw.

Es handelt sich dabei immer um float-Zahlen.

Ich habe so was probiert:

Code: Alles auswählen

np.savetxt('test.out', (t,Amp), delimiter=" ", fmt="%s")
Das funktioniert aber nicht. Wenn ich z.B. nur Amp eintrage, also:

Code: Alles auswählen

np.savetxt('test.out', Amp, delimiter=" ", fmt="%s")
wird es in eine Spalte geschrieben.

Was mache ich falsch??

Re: Werte in Spalten schreiben

Verfasst: Dienstag 23. Mai 2017, 11:11
von BlackJack
@Ede1994: Listen oder Numpy-Arrays? Ich glaube das diese Frage nicht unwichtig ist, hatten wir schon mal an anderer Stelle. Bei Listen würde ich wahrscheinlich mit einer ``for``-Schleife und `zip()` (`itertools.izip()` in Python 2) arbeiten, bei Numpy mit `np.stack()` und gegebenenfalls das Array transponieren.

Re: Werte in Spalten schreiben

Verfasst: Dienstag 23. Mai 2017, 11:34
von Ede1994
Ich bin mir ziemlich sicher, dass es Arrays sind :D

Ich habe jetzt das folgende getan:

Code: Alles auswählen

np.savetxt('myfile.txt', np.c_[t,Amp], header= 'Time, Amp')
Ist schon mal das was ich wollte :D
Muss ich den file jetzt nochmal separat schließen oder wird das durch den Befehl von Numpy gleich getan?

Re: Werte in Spalten schreiben

Verfasst: Dienstag 23. Mai 2017, 12:00
von BlackJack
@Ede1994: Welche Datei? Du hast da keine Datei. Wäre Dir wahrscheinlich aufgefallen wenn Du versuchst hättest `close()` irgendwo drauf aufzurufen. ;-)

Es sei denn Du übergibst statt eines Dateinamens ein Dateiobjekt, *das* musst Du dann auch selbst schliessen.

Re: Werte in Spalten schreiben

Verfasst: Dienstag 23. Mai 2017, 12:08
von Ede1994
Ach so :lol: Darauf hätte ich auch kommen können. Trotzdem danke!