Seite 1 von 1

write mit delimiter ,

Verfasst: Freitag 6. Mai 2011, 09:52
von max2331
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

Re: write mit delimiter ,

Verfasst: Freitag 6. Mai 2011, 10:11
von EyDu
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

Re: write mit delimiter ,

Verfasst: Freitag 6. Mai 2011, 11:24
von max2331
hmm danke für die Tipps.

Könntest du mir das genau erklären, wie ich mit csv das mache?

Re: write mit delimiter ,

Verfasst: Freitag 6. Mai 2011, 11:30
von Rebecca
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. :)