2017-06-28 2 views
-3

Ich habe test.csv Datei wie untenZeilen aus der CSV-Datei löschen, die nicht mit einem bestimmten Schlüsselwort beginnen?

aa123,abc 
ab123,bcd 
si_a23,bcd 
da123,abc 
si_b24,bcd 

Und hier muss ich alle Zeilen löschen, die nicht mit si_ so sollte meine letzte Ausgabedatei I Bisher

si_a23,bcd 
si_b24,bcd 

sein startet tat dies in Code -

f = open("test.csv","r") 
    lines = f.readlines() 
    f.close() 
    f = open("test.csv","w") 
    for line in lines: 
    if line.startswith ("si_"): 
     f.write(line) 
    f.close() 

Ich bekomme eine Ausgabe mit leerer Datei. Was ich hier falsch mache.

+2

Lesen Sie die Zeilen, überprüfen Sie die erste Spalte, schreiben Sie passende Zeilen aus. Mit welchem ​​Teil hast du Probleme? Zeigen Sie Ihren Code bis jetzt und jemand kann Ihnen helfen, es zu reparieren. So funktioniert diese Seite. – alexis

Antwort

0

Ich habe versucht den folgenden Code (von Ihnen geschrieben) und es funktioniert gut mit Ihrem Beispiel.

f = open("test.csv","r") 
lines = f.readlines() 
f.close() 

f = open("test.csv","w") 
for line in lines: 
    if line.startswith ("si_"): 
     f.write(line) 
f.close() 

Aber kann ich schlage vor, Sie einige Debug-Code zu verwenden, zB:

  • print (Linien)
  • print (Linie)

Und vielleicht auch in eine neue Datei schreiben während Sie versuchen (nicht zu überschreiben).

+0

Sie haben Recht, eigentlich war es mein Fehler. in den Testdaten, die ich verwendet habe, hat si anstelle von si_, aufgrund dessen alle Datensätze entfernt wurden. Danke für die Bestätigung. – Sangs

Verwandte Themen