Lesen Sie die Spalten Listen
Ich habe Daten in einer txt-Datei in form. Tab-getrennte Daten
here
a b c
e f g
tere
x y z
w t y
Brauche ich zum Lesen der Spalten in Listen. wie
col1 = ['here', '', '', tere, '', '']
col2= ['', 'a', 'e', '', 'x'.'w']
und so weiter.
Habe ich verwendet
import re
infile = open('text.txt', 'r')
i=0
a0='';a1='';a2='';a3='';a4='';a5='';a6='';a7='';
for line in infile:
[a1[i],a2[i],a3[i],a4[i],a5[i],a6[i],a7[i],a8[i]] = line.split('\t')
i+=1
Er sagt: 'str' object does not support item assignment.
Irgendwelche Tipps?
InformationsquelleAutor Zero | 2013-03-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, dass alle Daten, die Variablen zugeordnet pro Spalte, beginnen Sie mit einer Liste:
Und nur dann wenden, in eine Liste von Spalten:
Dies ist jetzt eine Liste von Listen;
per_column[0]
ist die erste Spalte von Daten.Sie wirklich wollen, verwenden Sie die
csv
- Modul statt zu Lesen tabellarische Daten obwohl.Dein code ist leider nicht annähernd nahe genug, um die Arbeit mit Python. Sie beauftragte mehrere Variablen die leere Zeichenkette, so wird versucht, Sie als Listen.
InformationsquelleAutor Martijn Pieters
Korrektur zu @Martijn Pieters Antwort
Sollte es so gewesen
Und nur dann drehen, die in eine Liste von Spalten:
Dies ist jetzt eine Liste von Listen;
per_column[0]
ist die erste Spalte von Daten.Dieser gibt das Ergebnis will ich nicht.
strip()
entfernt leere Zellen auch.InformationsquelleAutor Zero
Hier,
sobald Sie erklärt haben, Variablen zu leeren Zeichenfolgen, die Sie nicht ändern können, den string einzeln (Zeichen für Zeichen), denn Sie sind immutable strings.
So können Sie Listen von strings anstelle des strings.
InformationsquelleAutor soery
Den
csv
Modul ist oft auch der beste Weg zu handhaben tab-getrennte Dateien:Ausgabe:
InformationsquelleAutor martineau
Wie Martijn Pieters sagte, das csv-Modul ist ziemlich praktisch. So stellen Sie sicher, dont run out of memory (ich.e der Eingabedatei nt ist zu groß.)
InformationsquelleAutor AniketD