schreiben tab-getrennte Werte in eine Datei
Aus einer Datei, die ich getroffen haben, eine Linie, teilt die Linie in 5 Spalten mit split()
. Aber ich habe zu schreiben, diese Spalten als tab-getrennte Werte in einem Ausgabe-Datei.
Können sagen, dass ich l[1], l[2], l[3], l[4], l[5]
...insgesamt 5 Einträge. Wie kann ich erreichen, das mit python? Und ich bin auch nicht in der Lage zu schreiben l[1], l[2], l[3], l[4], l[5]
Werte in eine Ausgabedatei.
Habe ich versucht diese beiden codes, die beide nicht arbeiten(ich benutze python 2.6):
code 1:
with open('output', 'w'):
print l[1], l[2], l[3], l[4], l[5] > output
code 2:
with open('output', 'w') as outf:
outf.write(l[1], l[2], l[3], l[4], l[5])
Werfen Sie einen Blick auf die
Verwenden Sie die
csv
- Modul statt.Verwenden Sie die
csv
Modul. Das ist, was es ist. Edit: Konnte die post mit einem link und alle. Das, was er sagte.InformationsquelleAutor learner | 2012-06-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einen parameter in der
with
- Anweisung repräsentiert die Datei, die Sie schreiben. Von dort aus, verwenden Sie.write()
. Dies setzt Voraus, dass alles inl
ist ein string, sonst müsste man wickeln Sie alle von Ihnen mitstr()
.Alternativ und effizienter zu gestalten, können Sie
.join()
:InformationsquelleAutor Makoto
Den
write()
- Methode nimmt einen string als erstes argument (nicht eine variable Anzahl von strings). Versuchen Sie dies:oder noch besser:
file.write()
hinzufügen nicht automatisch ein Zeilenumbruch. Edit: Dies ist viel passiert. Nur ein paar Sekunden vor jeder Zeit.+1 auf die Verwendung von
join()
.. ich mag es viel besser als meine eigene Lösung, die auch funktioniert, aber ist nicht annähernd so glatt 🙂InformationsquelleAutor Rafe Kettler
schreiben die Daten in die Datei tab getrennt. Beachten Sie, dass schreiben nicht automatisch Anhängen
\n
, so dass, wenn Sie es brauchen, Sie müssen es versorgen sich selbst.Auch, es ist besser, die Datei zu öffnen mit
with
:da dies automatisch schließen Sie die Datei, wenn Sie fertig sind oder eine Ausnahme aufgetreten ist.
wohl wahr, aber ich bin versucht, die neue Formatierung Weg ... es ist funktional und korrekt, obwohl
das ist nicht sinnvoll, in sich wiederholenden und einfachen Fällen wie diesem, @Levon
vielleicht wollen Sie den gleichen Punkt ein 3. mal, glaube ich nicht, ich hab es die ersten 2 mal (obwohl ich bestätigt Ihr Kommentar, nachdem der erste). Sie wissen, nur um sicher zu sein.
InformationsquelleAutor Levon