write mit delimiter ,

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
max2331
User
Beiträge: 13
Registriert: Montag 11. April 2011, 09:53

Hallo,

ich habe mit write eine txt Datei erstellt, die aus mehreren Spalten besteht
Nun möchte ich aber, dass anstatt des Leerzeichens zwischen meinen meinen Spalten ein Komma ist. Ich habe nämlich das Problem, dass in einer Spalte ein Leerzeichen vorkommt, und ich somit die Spalten beim späteren einlesen z.B. mit Excel nicht passend trennen kann.

Code: Alles auswählen

ff = open('data_output.txt','w')
ff.write(4*"%s " %
('raw1','raw2','raw3','raw4')+ "\n")
for ii in range(len(missionid_new)):
   ff.write("%s %f %s %f  % (raw1[ii],raw2[ii],raw3[ii],raw4[ii]) + "\n"

ff.close(
Wie kann ich also den Delimiter ändern?

Danke für eure Antworten
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo.

Gleich mehrere Hinweise:
- Benutze das csv-Modul
- Öffne Dateien mittels with-Statement
- Man kann direkt über Sequenzen iterieren. Wenn du range(len(...)) verwendest, dann machst du eigentlich immer etwas falsch.

Sebastian
Das Leben ist wie ein Tennisball.
max2331
User
Beiträge: 13
Registriert: Montag 11. April 2011, 09:53

hmm danke für die Tipps.

Könntest du mir das genau erklären, wie ich mit csv das mache?
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

max2331 hat geschrieben:hmm danke für die Tipps, aber:
leider funktioniert es mit dem csv Statemant nicht da ich ein 2-D Array habe, deswegen über write.
Meinst du eine Liste, oder was fuer einen Datentyp? Und warum sollte es nicht gehen?
max2331 hat geschrieben:Gibt es mit write eine Möglichkeit, oder nicht?
Die join-Methode auf Strings koennte auch ganz nuetzlich sein. :)
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Antworten