2016-08-05 25 views
0

Ich habe eine Textdatei namens "test", und ich möchte eine Liste in Python erstellen und drucken. Ich habe den folgenden Code, aber es druckt keine Liste von Wörtern; Es druckt das gesamte Dokument in einer Zeile.Wie erstelle ich eine Liste aus einer Textdatei in Python

file = open("test", 'r') 
lines = file.readlines() 

my_list = [line.split(' , ')for line in open ("test")] 
print (my_list) 
+1

Sie müssen viel genauer sein, was Sie zu tun versuchen. Der obige Code liest die gleiche Datei auf zwei verschiedene Arten und Ihre Beschreibung fehlt genug Details, um zu verstehen, was Ihr Ziel ist. – ShadowRanger

+0

Wenn Ihre Datei Werte enthält, die durch Kommata getrennt sind, können Sie die in Python integrierte CSV-Bibliothek (Comma-Separated Values) verwenden. –

+0

Mögliches Duplikat von [So lesen Sie eine Datei Zeile für Zeile in eine Liste mit Python] (http://stackoverflow.com/questions/3277503/how-to-read-a-file-line-by-line-into- a-list-with-python) – Mahdi

Antwort

1

Sie könnten

my_list = open("filename.txt").readlines() 
1

tun Wenn Sie dies tun:

file = open("test", 'r') 
lines = file.readlines() 

Linien eine Liste der Linien ist. Wenn Sie eine Liste von Wörtern für jede Zeile erhalten möchten, können Sie tun:

list_word = [] 
for l in lines: 
    list_word.append(l.split(" ")) 
+0

Beachten Sie, dass Sie das Zeichen \ n möglicherweise auch entfernen möchten, bevor Sie das tun: l = l.replace ("\ n", "") – Michel

2

Ich glaube, Sie versuchen, etwas zu erreichen:

data = [word.split(',') for word in open("test", 'r').readlines()] 

Es würde auch helfen, wenn Sie angeben, waren welche Art von Textdatei Sie versuchen zu lesen, da es mehrere Module (z. B. csv) gibt, die das Ergebnis auf eine viel einfachere Weise erzeugen würden.

Wie erwähnt, können Sie auch strip eine neue Zeile (hängt davon ab, welche Linie endet Sie verwenden), und Sie werden etwas wie diese:

data = [word.strip('\n').split(',') for word in open("test", 'r').readlines()] 

Diese Liste Zeilen mit einer Liste erzeugt von Wörtern.

Verwandte Themen