Daten schreiben, neue Zeile \n funktioniert nicht

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ete
User
Beiträge: 218
Registriert: Montag 19. Februar 2007, 13:19
Kontaktdaten:

Hallo!

Ich habe folgendes Problem und brauch mal wieder euren Rat:

Ich möchte meine berechneten Werte pro Zeile im .txt File als Zeilen wieder ausgeben.

Leider funktioniert das nicht wirklich. Es steht entweder nur der letzte Wert im File
(wenn ich \n weg lasse) oder wird der letze Wert in 2 Zeilen aufgeteilt. Ich denke das einfach alle
Werte immer wieder in die erste Zeile geschrieben werden und zum Schluss der letzte bleibt. Dies
sollte doch aber mit \n zu vermeiden sein, oder!?

Wenn ich mir die Liste vorm speichern ausgeben lasse, stehen alle Werte jeder Zeile zur
Verfügung. Wenn ich sie mir nach dem speichern ausgeben lasse, nur der letzte.

Weiss jemand weiter?

Hier ein Bsp. Text:

attggcc
ttaacc
atcggtaacgattacattc

Und meine Python Code:

Code: Alles auswählen

# Daten in txt Datei schreiben mit neuer Zeile

    
# Quelldatei öffnen, Zeilen lesen.

teldatei = file("C:\\Dokumente und Einstellungen\\Stefanie\\Desktop\\seq.txt","r")
liste = teldatei.readlines()

# Für jede Zeile in Liste.
 
for value in liste:

    # Zählt alle Nukleotide pro Primer.
        
    t = value.count("t")
    g = value.count("g")
    c = value.count("c")
    a = value.count("a")

    Tm01 = (2 * (a + t)) + (4 * (g + c))    

    print Tm01

def speichern(s, dateiname):
    
    datei = file (dateiname, 'w')
    for i in s:
        datei.write(str(i)+'\n')
    datei.close()


speichern(Tm01, "C:\\Dokumente und Einstellungen\\Stefanie\\Desktop\\test2.txt")
Zuletzt geändert von ete am Samstag 16. Juni 2007, 15:25, insgesamt 1-mal geändert.
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Hi,
Ich weiß nicht genau, was du willst, aber in die Ergebnisse der Schleife zB werden ja garnicht gespeichert. Und/Oder was ist "tstr", oder wo kommt das her?

Code: Alles auswählen

zeilen = []
for value in liste: 
    # Zählt alle Nukleotide pro Primer. 
    t = value.count("t") 
    g = value.count("g") 
    c = value.count("c") 
    a = value.count("a") 
    Tm01 = (2 * (a + t)) + (4 * (g + c))    
    print Tm01
    zeilen.append(Tm01)

def speichern(s, dateiname):   
    datei = file (dateiname, 'w') 
    for i in s: 
        datei.write(str(i)+'\n') 
    datei.close() 
speichern(zeilen, "test.txt")
Suchst du sowas?

Gruß, jj
Gnushi
User
Beiträge: 77
Registriert: Dienstag 12. Dezember 2006, 09:49

ete hat geschrieben:Ich möchte meine berechneten Werte pro Zeile im .txt File als Zeilen wieder ausgeben.
Wie wäre es mit:

Code: Alles auswählen

teldatei = file("seq.txt","r")
liste = teldatei.readlines()
teldatei.close()
datei = file ("out.txt", 'w')
for value in liste:
  t = value.count("t")
  g = value.count("g")
  c = value.count("c")
  a = value.count("a")
  Tm01 = (2 * (a + t)) + (4 * (g + c))
  print Tm01
  datei.write(str(Tm01) + '\n')

datei.close()
Hier wird pro Zeile in die Datei geschrieben.

GnuShi
ete
User
Beiträge: 218
Registriert: Montag 19. Februar 2007, 13:19
Kontaktdaten:

War ein Schreibfehler von mir, sorry ich habs schon editiert...

Danke für den "bin ich blöd" Effekt :lol

Schönes Wochenende noch!
Antworten