Problem mit CSV

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
djangofish
User
Beiträge: 51
Registriert: Dienstag 16. Oktober 2012, 09:43
Kontaktdaten:

Hallo,

ich bastel gerade an einem Script um in einer CSV-Datei bestimmte Datensätze zu verändern.
Leider klappt es mit der Ausgabe nicht so recht, statt 100 Datensätze sind es 700. Liegt wohl daran, dass das Script sieben Datensätze finde und ändern soll.

Code: Alles auswählen

import csv
import os
 
fileSource = csv.reader(open('source.csv','rb'),delimiter=';')

tempData = []
for entrysource in fileSource:

    fileDatabase = csv.reader(open('database.csv','rb'),delimiter=';')
    
    for entrydatabase in fileDatabase:

        if (entrydatabase[1] == entrysource[0]):

            if entrydatabase[2] == entrysource[1]:

                if entrydatabase[4] == entrysource[3]:
                    
                    tempData.append([entrydatabase[0],entrydatabase[1],entrydatabase[2],entrysource[2],entrydatabase[4]])
                    
                    
        else:
            tempData.append(entrydatabase)
            
        
resultDatabase = csv.writer(open('result.csv','wb'),delimiter=';')
resultDatabase.writerows(tempData)

Kann mir einen Tipp geben?

Danke
Peter
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

Hallo djangofish,

strukturiere Dein Programm:
1. Source einlesen
2. Database einlesen
3. für jeden Database-Eintrag:
3a. wenn Eintrag in Source -> ändern
3b. sonst beibehalten
4. Ergebnis schreiben.

Grüße
Sirius
Antworten