Seite 1 von 1

modify csv file

Verfasst: Mittwoch 28. Oktober 2009, 17:43
von ali2go
hallo
als anfänger im programmieren hier wieder eine echte anfänger frage
ich habe ein programm dass mir aus einem csv file daten ausliest diese dann in verschiedenen funktionen nutzt um dann mittels print befehl die neuen werte auszugeben.
ich bekomme es aber nicht hin an den csv file meine neuen daten anzuhängen
also:
ich habe eine spalte mit variablen und möchte an jede spalte mehrere neue werte anhängen
durch das python.doc csv module bin ich auch nicht schlauer geworden..
mein code sieht so aus:

Code: Alles auswählen

file = csv.reader(open("840_860.csv"), delimiter=";")
resultBUI = 0
resultISI =0
resultFFMC = 0
resultDMC = 0
resultDC = 0
inFMC = 85
inDMC = 6
inDC = 15
for line in file:  
     
    if(file.line_num > 1):
        
        if (file.line_num > 2):
            inFMC = resultFFMC
            inDMC = resultDMC
            inDC = resultDC
            
        resultFFMC = FFMC(float(line[4]), float(line[9]), float(line[6]), float(line[8]), inFMC)
        resultDMC=DMC(float(line[4]), float(line[7]), float(line[6]), float(line[8]), inDMC, int(line[2]))
        resultDC = DC(float(line[4]),float(line[5]),inDC,int(line[2]))
        resultISI =ISI(float(line[9]),resultFFMC)
        resultBUI =BUI(resultDMC,resultDC)
        resultFWI = FWI(resultBUI,resultISI)
        print file.line_num, "FFMC", resultFFMC, "; DMC", resultDMC, "; DC", resultDC , ";ISI", resultISI, ";BUI.", resultBUI, "FWI", resultFWI
kann ich den code irgendwie lesbarer einstellen?
für jeden tip dankbar

Edit (BlackJack): Quelltext in Code-Tags gesetzt.

Re: modify csv file

Verfasst: Mittwoch 28. Oktober 2009, 18:08
von Hyperion
ali2go hat geschrieben: kann ich den code irgendwie lesbarer einstellen?
Ja, steht alles in der FAQ ;-)

Das Stichwort lautet Code-Tags!

Aber: Wo genau liegt jetzt Dein Problem? Das wird unabhängig vom Code mir so nicht deutlich! Das musst Du noch genauer beschreiben! Also was willst Du erreichen? Was klappt? Was klappt noch nicht? usw. Ggf. auch mal ein Beispiel mit Werten für eine Datenstruktur usw.

Verfasst: Mittwoch 28. Oktober 2009, 22:05
von CM
Hoi,

glaube, ich weiß was Du meinst. Tipp: Ein "reader" ist kein "writer" ,-)

Code: Alles auswählen

writer = csv.writer(open("840_860.csv", "a"), delimiter=";")
writer.writerow(iterable)
Vorsicht: Lesen und Schreiben in der selben Datei ist gar keine gute Idee.

Alldieweil, was diese seltsamen Klassen da alle machen sollen ist auch mir schleierhaft. Jedenfalls ist es auch keine gute Idee build-in Namen zu überschreiben. Und ggf. solltest Du Dir mal map und Konsorten anschauen, damit Du nicht x Umwandlungen beim Erstellen von Objekten machen mußt.

HTH
Christian