2016-08-06 12 views
0

Dies ist ein Algorithmus, um alle Zeilen zu erhalten, die mit „BO_“ in einer Textdatei beginnen ....Convert Zeilen einer Datei in CSV

with open("FILE.txt") as f: 
    for line in f: 
     if line.startswith('BO_ '): 
     array+=line 

    print(array) 

dieser Code gibt mir folgendes Ergebnis:

BO_ 1 
BO_ 2 
BO_ 3 
BO_ 4 
BO_ 5 
BO_ 6 
.... 

Nun .... ist es möglich, diese in ein csv Format so zu konvertieren:

string=['BO_1','BO_2','BO_3',...] 

ich schon dieversuchteModul, war aber nicht in der Lage, es zu verwalten ....

+0

Das ist nicht CSV, das ist eine Liste. – MattDMo

+0

Es sieht so aus, als ob Sie eine Werteliste erstellen möchten. Ich schlage vor, Sie finden online Informationen über Python-Listen. Insbesondere ist die 'append()' Funktion hilfreich. –

Antwort

0

Nun, das Format, das Sie beschrieben ist nicht wirklich CSV-Format per-sagen, aber:

with open("FILE.txt") as f: 
    bo_lines = [line for line in f if line.startswith('BO_')] 
+0

vielen dank, das funktioniert für mich! –

0

Sie die Funktion beitreten können so wie:

string = ','.join(array.split('\n')) 

dies wird Ihnen geben:

"BO_1,BO_2,BO_3,..." 

diese dann als CSV gespeichert werden könnten. Aus der Art und Weise, wie Ihre Frage formuliert ist, möchten Sie vielleicht nicht nach einem csv suchen.

Edit: als Code Lehrling darauf hingewiesen, möchten Sie vielleicht verwenden .append() stattdessen ein Array aller Zeilen der Datei zu erstellen. Derzeit verketten Sie jede Zeile auf "Array", die wirklich eine Zeichenfolge, kein Array ist.

+0

okay, danke für den Tipp. Die Lösung von Deep Space passt perfekt zu mir. trotzdem, danke! –