Ich muss die Spaltenüberschriften in einer CSV-Datei überprüfen, und nur die Header-Werte für diese Aufgabe, nicht die Werte unten (noch). Im Moment benutze ich DictReader und Feldnamen, um Spaltenüberschriften zu bekommen, hauptsächlich weil der Code viel klarer ist, was mit dieser Methode passiert. Gibt es einen Grund (Leistung oder andere), nur den Standard-CSV-Reader zu verwenden, lesen Sie in der oberen Spalte als Kopfzeilen und schließen Sie dann die Datei?DictReader Feldnamen vs CSV-Leser erste Zeile
2
A
Antwort
7
Ich könnte mir vorstellen, dass der DictReader nur etwas weniger effizient als der CSV-Reader sein würde (ich habe nie Benchmarks gesehen). Was der DictReader bietet, ist eine bessere Lesbarkeit. Jeder Code zu lesen in der Lage sein zu sehen, was los ist, wenn Sie eine Spalte zugreifen
reader = csv.DictReader(f.open)
for line_dict in reader:
line_dict['First Column']
line_dict['Second Column']
Gegensatz zu nur numerischer Indizes der CSV-Reader. Wenn Sie mit Dateien mit vielen Spalten arbeiten, kann das Merken von Indizes für Spaltennamen ärgerlich sein. Ich denke für die Lesbarkeit gewinnt der DictReader.
Verwandte Themen
- 1. VS 2013 ReportViewer zeigt nur die erste Zeile an
- 2. Erste-Klasse-Feldnamen und Tabellenspaltennamen von NHibernate Metadaten
- 3. Erste Zeile mit JSoup
- 4. csv.reader vermisst erste Zeile
- 5. Textarea erste Zeile fett
- 6. BufferedReader überspringen erste Zeile
- 7. Klare erste Zeile jtexttarea
- 8. C# erste Zeile einer Textdatei
- 9. Zeige erste Zeile eines Absatzes
- 10. erste leere Zeile in Excel
- 11. LEFT JOIN nur erste Zeile
- 12. numpy loadtxt überspringen erste Zeile
- 13. Schienen: Feldnamen
- 14. Entsprechen erste Zeile von Arrays mit der zweiten Zeile VB
- 15. Arrays in Ruby: Nehmen Sie vs Limit-vs Erste
- 16. Elasticsearch sortiert nach mehreren Feldnamen
- 17. C++ cin Zahlen ignoriert die erste Zeile?
- 18. Get/Set Erste sichtbare Zeile von RichTextBox
- 19. Das Programm lösen nur erste Zeile [Sudoku]
- 20. erste Zeile mit Open CSV-Reader
- 21. Erste Zeile entfernen Von Auswahl VBA
- 22. ImportJSON Google Script schneidet die erste Zeile
- 23. Ajax Post-Tabelle jede Zeile erste Zelle
- 24. Nur die erste Zeile einer Datei lesen?
- 25. Ignorieren erste Zeile auf csv parse Rails
- 26. ListView erhält nur erste Zeile .csv-Datei
- 27. Nur erste Zeile mit HQL verbinden
- 28. Firebird Query-Return erste Zeile jeder Gruppe
- 29. jQuery Tables ausgewählte Zeile Erste Werte
- 30. Fix die erste Zeile einer HTML-Tabelle
Hinzu kommt, dass der Code resistenter ist - wenn jemand die CSV-Datei neu anordnet (z. B. fügt er eine neue Spalte in der Mitte hinzu), wird der Code nicht verschlüsselt. – aravenel
Wenn DictReader ohne Eingabefeldnamen verwendet wird, steht DictReader._fieldnames erst nach dem Lesen der ersten Datenzeile zur Verfügung. Das ist also ein Minus. –