Liste in .txt schreiben
Verfasst: Mittwoch 6. Januar 2016, 23:56
Huhu ich bins mal wieder mit einem kleinen Problem:
Dieser Code liest Werte Zeilenweise in eine Liste aus einer .txt (diese ist in 2 spalten mit Tabs getrennt)
soweit so gut . Ich würde mich freuen wenn mir einer mit meiner Liste die ich "Liste" genannt habe weiterhelfen könnte. hier habe ich nämlich durch die verschachtelung die möglichkeit schnell mal ein bestimmtes Element zu ändern in dem ich es später dann mit zeile:spalte anspreche. Jedoch weiß ich grad echt nicht wie ich diese so "verschachtelte" liste ohne große umstände wieder in eine .txt schreiben kann.
wenn ich "Liste" ausgebe sieht das ganze dann schonmal so aus:
[['Einstellung 1', 'neu'], ['Einstellung 2', '10'], ['Einstellung 3', '15.5']]
schreiben wollte ich gerne so:
Datei = open("ASCII-Tabelle2.txt","a")
Datei.writelines(["%s\n" % item for item in Liste])
aber hier werden mir die Klammern und "stringzeichen" mit in die txt geschrieben.
['Einstellung 1', 'neu']
['Einstellung 2', '10']
['Einstellung 3', '15.5']
mit replace() habe ich schon eine möglichkeit gefunden meine Liste zu bereinigen, ist aber denke ich viel zu umständlich:
Könnte mir wer weiterhelfen?
Danke schon im vorraus
Dieser Code liest Werte Zeilenweise in eine Liste aus einer .txt (diese ist in 2 spalten mit Tabs getrennt)
Code: Alles auswählen
Liste=[]
Liste2=[]
Datei = open("ASCII-Tabelle.txt","r")
for line in Datei:
line=line.rstrip() #rstrip() entfernt unnötige leerzeichen und \n
line=line.split("\t") #line ist automatisch eine Liste
Liste.append(line) #reiht die Listen(line) aneinander = verschachtelt
Element=Liste[1][1] #Element in der verschachtelten liste [Zeile][Spalte]
spalte=1 #0 = 1.Spalte // 1 = 2.Spalte in der .txt
zeile=0
Zeile=Liste[zeile]
Element2=Liste[zeile][spalte]
wenn ich "Liste" ausgebe sieht das ganze dann schonmal so aus:
[['Einstellung 1', 'neu'], ['Einstellung 2', '10'], ['Einstellung 3', '15.5']]
schreiben wollte ich gerne so:
Datei = open("ASCII-Tabelle2.txt","a")
Datei.writelines(["%s\n" % item for item in Liste])
aber hier werden mir die Klammern und "stringzeichen" mit in die txt geschrieben.
['Einstellung 1', 'neu']
['Einstellung 2', '10']
['Einstellung 3', '15.5']
mit replace() habe ich schon eine möglichkeit gefunden meine Liste zu bereinigen, ist aber denke ich viel zu umständlich:
Code: Alles auswählen
zeile = 0
for x in range(0,3):
Zeile=str(Liste[zeile])
Zeile=Zeile.replace(',','')
Zeile=Zeile.replace('[','')
Zeile=Zeile.replace(']','')
Zeile=Zeile.replace("'",'')
Datei.write("%s\n" % Zeile)
zeile+=1
Danke schon im vorraus
