txt-Datei importieren und jede Zeile als Liste haben
Ich bin ein neuer Python-Benutzer.
Ich habe eine txt-Datei, die etwas wie sein wird:
3,1,3,2,3
3,2,2,3,2
2,1,3,3,2,2
1,2,2,3,3,1
3,2,1,2,2,3
aber es können weniger oder mehr Zeilen sein.
Ich möchte jede Zeile als Liste importieren.
Ich weiß, dass man das auch so machen kann:
filename = 'MyFile.txt'
fin=open(filename,'r')
L1list = fin.readline()
L2list = fin.readline()
L3list = fin.readline()
aber da ich nicht weiß, wie viele Zeilen ich haben werde, gibt es eine andere Möglichkeit, einzelne Listen zu erstellen?
14
3
Erstellen Sie keine separaten Listen, sondern eine Liste von Listen:
oder noch besser, verwenden Sie das Modul
csv
:Listen oder Wörterbücher sind weit überlegene Strukturen, um eine beliebige Anzahl von Dingen, die aus einer Datei gelesen werden, im Auge zu behalten.
Beachten Sie, dass Sie mit beiden Schleifen auch die Datenzeilen einzeln ansprechen können, ohne den gesamten Inhalt der Datei in den Speicher einlesen zu müssen; anstatt
results.append()
zu verwenden, verarbeiten Sie diese Zeile einfach direkt dort.Nur der Vollständigkeit halber hier die kompakte Einzeiler-Version, um eine CSV-Datei in einem Rutsch in eine Liste einzulesen:
Erstellen Sie eine Liste von Listen:
Wenn Sie die Zahlen als
int
haben wollen: