2016-07-21 3 views
-1

Ich habe eine Textdatei mit einem einzelnen Wort in jeder Zeile.Ich habe eine Textdatei, in der jede Zeile mit einem Wort steht. wandeln Sie es mit Python in Linie um

Ich möchte es in Zeile mit Python konvertieren.

Eingang: file.txt

word1 in row1 
word2 in row2 
word3 in row3 
word4 in row4 

Erwartete Ausgabe: ['word1.Z', 'word2.Z', 'word3.Z', 'word4.Z']

+1

So möchten Sie es in eine Linie oder ein Array konvertieren? –

+0

Es ist unklar, was '.Z' mit irgendetwas zu tun hat. Machst du gerade "" .Z "'? Ihre Eingabe scheint mehr als ein Wort pro Zeile zu enthalten: P –

+0

Was haben Sie bisher versucht? Bitte posten Sie Ihren Code und geben Sie an, mit welchem ​​Teil Sie Schwierigkeiten haben. – cdarke

Antwort

0

Diese bekommen sollten Sie begonnen:

filename = 'test.txt' 
words = open(filename, 'r').readlines() 

readlines() eine Liste erstellt, wobei jedes Element eine Zeile der Datei ist , so wird Ihre words Liste wieaussehen.

+1

das wird nachfolgende Zeilenumbrüche auf jedem Listenelement hinterlassen –

3
['%s.Z'%s for s in open('myfile.txt').read().split()] 

oder wenn myfile.txt ist groß:

['%s.Z'%s for s in open('myfile.txt').readline().split()] 
+1

Ich denke, 'read(). Split()' sollte 'readline() sein. Strip()', nein? –

+1

@joelgoldstick Die Verwendung von 'read' then' split' vermeidet nachfolgende Zeilenumbrüche. – Frodon

+0

@joelgoldstick dies ist das Ergebnis von 'readline(). Strip()' ->: '['t.Z', 'e.Z', 's.Z', 't.Z']' –

0

Sie dieses Stück Code verwenden können:

Es wird jede Zeile in test.txt und speichern sie in einer Liste lesen namens 'Worte'

Dann wird es jedes Wort Schleife, entfernen Sie "\n" und fügen Sie ".Z" zu ihnen hinzu.

filename = 'test.txt' 
words = open(filename, 'r').readlines() 

new_words = [] 

for word in words: 
    new_word = word.strip("\n") + ".Z" 
    new_words.append(new_word) 

new_words 

Ausgang:

['test.Z','this.Z','text.Z','is.Z','written.Z','in.Z','many.Z','lines.Z'] 
Verwandte Themen