2017-10-24 6 views
0

erstens neu zu Python und nicht gut darin ... Ich versuche, eine TXT-Datei namens bestsellers.txt zu öffnen. In der Textdatei wird durch ein Tabulatorzeichen beispielsweise geteilt,Python: txt Datei durch Tab teilen

1st to Die James Patterson Little, Brown 3/25/2001 Fiction 

So, nachdem sterben wird Registerkarte gleichen Abstand mit nach patterson und braun und 2001 Alles, was ich jetzt haben, ist

openBook = open('bestsellers.txt', 'r') 
booklist = openBook.split('\t') 

Aber es scheint nicht zu funktionieren, Vorschläge, was zu tun ist? Ich muss es einfach halten. Ich weiß, dies ist wahrscheinlich eine dumme Frage ist, wie gut, so dass ich entschuldige mich ...

Antwort

1

auf jedem Registerkarte aufgeteilt, iterieren die Datei wie folgt:

data = [i.strip('\n').split('\t') for i in open('bestsellers.txt')] 
+0

Ehrfürchtig Sie so viel Dank! –

+0

@SarahMcIntosh froh zu helfen! Wenn diese Antwort Ihnen geholfen hat, denken Sie bitte daran, sie zu akzeptieren. Vielen Dank! – Ajax1234

1

openBook ist eine Datei, kein String . Auch wenn es sich um eine Zeichenfolge handelt, sollten Sie die Zeilen durchlaufen und jede Zeile auf den Registerkarten aufteilen. So etwas wie folgt aus:

with open("bestsellers.txt") as bookfile: 
    for line in bookfile: 
     fields = line.split("\t") 
     # now do something with this book's fields 

aber eine bessere Lösung ist nicht das Rad neu zu erfinden und stattdessen das csv-Modul, das zum Lesen von verschiedenen Arten von Textdateien gedacht.

0

Sie etwas in dieser Richtung müssen:

for line in open(document).readlines(): 
    line.split("\t")