Gewusst wie: Filtern von CSV-Datei mit Python-Skript
Ich habe abx.csv-Datei mit drei Spalten. Ich möchte die Daten filtern, die mit Application
als Central
und schreiben Sie es in gleichen .csv-Datei
User ID Name Application
001 Ajohns ABI
002 Fjerry Central
900 Xknight RFC
300 JollK QDI
078 Demik Central
Muss ich schreiben User ID,Name,Apllication
im drei-Säulen in gleichen .csv-Datei aus (ändern Sie die vorhandene Datei)
Du musst angemeldet sein, um einen Kommentar abzugeben.
csv
Modul zu Lesen, Trennzeichen-getrennte Dateien.filter
.filter()
ist nicht das beste tool, da es implizit liest in der ganzen Eingabe-Liste, bevor Sie beginnen zu filtern (die töten können Sie, wenninfile.csv
ist wirklich groß.) Verwenden Sie stattdessenitertools.ifilter()
, das ist das gleiche wiefilter()
aber nur zu Lasten einer Zeile zu einem Zeitpunkt.Sollten Sie verwenden verschiedene Ausgabe-Dateinamen. Auch wenn die Namen identisch sein, sollten Sie einige temporäre Namen und schließlich benennen Sie die Datei um. Ansonsten müssen Sie Lesen-Datei zu Speicher, auf den ersten
with
Kontext-Manager auf separaten Einzug-Ebenen. Stattdessen machen Siewith open('infile','r), open ('outfile','w') as fin, fout:
.delimiter=" "
auf ein minimum.csv
Modul-Dokumentation würde nicht Schaden. Als bonus, diese führt in den OP, um die Gewohnheit des Lesens der Dokumentation - win-win!with open('infile','r') as fin, open ('outfile','w') as fout: