2016-07-19 2 views
-5

Ich habe eine CSV-Datei mit zwei Spalten und möchte Zeilen in eine neue CSV-Datei kopieren, wenn die erste Spalte in der Zeile nicht NULL ist und die zweite Spalte "AB; CD; EF" hat. Spalten sind durch "," getrennt. Hier ist ein BeispielPython CSV. Kopiere Daten in neue CSV basierend auf Bedingung

2213, AS, DS; FDS; SD

2343, EW; WE; RT; CX; LASKJDLK

1231, AB, CD, EF; WERWERER

,SD;DF;DF;DFGD 

2322, FD; AB, CD, EF; ASDFDFAS; SDFD; SDF

ich schätze Ihre Hilfe im Voraus.


file = open(test.csv', 'r') 
lines = file.readlines() 
i = 1 
array1 = [] 
while i < len(lines): 
    KoLID = lines[i][0:lines[i].index(',')] 
    if KoLID != 'None': 
     cname = lines[i][lines[i].index(',')+1:-1] 
     array1 += [(KoLID,cname)] 
     i += 1 
array1 = sorted(array1) 
file.close() 


file1 = open(new.csv', 'w') 
KoLID = array2[0][0] 
cname = array2[0][1] 
if cname[:8] == 'AB;CD;EF': 
     file1.write(lines) 

file1.close() 
+6

ist nicht schreiben Code für Sie hier. Bitte versuchen Sie einige Dinge und kommen Sie mit Fragen zurück. – Tyler

+0

Danke. Hier ist, was ich bisher versucht habe. file = open (test.csv‘, 'r') = Linien file.readlines() i = 1 array1 = [] während i Bash

Antwort

1

nicht sicher, wie viel ich ohne geradezu das Schreiben von Code für Sie helfen können. Sie werden wahrscheinlich einige davon lesen müssen, aber hoffentlich wird dies Sie in die richtige Richtung zeigen:

Zunächst müssen Sie durchlaufen jede Zeile. Etwas wie: für Zeile in Datei

Dann können Sie .split() in jeder Zeile verwenden und angeben, dass Sie auf ',' teilen möchten. Dadurch erhalten Sie eine Liste aller Elemente in einem Feld.

Schließlich betrachten Sie den ersten und zweiten Index der Liste und wenn es das ist, was Sie wollen, schreiben Sie es in eine zweite Datei.

Dinge nützlich oder notwendig zu verstehen: für Schleifen, .split(), Listen/Indizes, die in Operator, um zu sehen, ob eine Zeichenkette in einem anderen Wir