Sehr cool! Ich muss viel mit
CSV Dateien arbeiten (wobei wir die inzwischen als Char-Separated-Values betiteln
Ich hab inzwischen viele Routinen geschrieben, die immer leichte Varianten und Abweichungen prozessieren.
Was du vielleicht noch überarbeiten soltest wären:
- Property ab welcher Zeile die eigentlichen
CSV Daten anfangen (häufig gibt es einen Header, der komplett anders aufgebaut ist und davor steht).
- eine Comment Property, die alle Zeilen enthält, die nicht als Daten eingelesen werden sollen (z.B. die Zeilen des Headers).
- Property für die Anzahl der Elemente pro Zeile (manchmal verrutschen Werte, wenn Messwerte nicht vorliegen, was zu Problemen führt, wenn man alles in eine Tabelle oder für weitere Berechnungen in eine Matrix schreibt).
- Für manche Anwendungen ist es interessant, bei der internen Verarbeitung die Delimiter am Anfang einer Zeile zu löschen.
- Für andere Anwendungen ist es interessant, mehrere aufeinanderfolgende Delimiter wie einen einzigen zu interpretieren.
- eine Möglichkeit eine Zeile anzugeben, welche Spaltenüberschriften trägt (diese sind häufig anders zu prozessieren als die darauffolgenden Daten); quasi die Column Headers.
- evtl. tatsächlich eine Option zur
Unicode-Behandlung.
Bin ja echt gerade am Überlegen, ob ich meine Routinen nicht endlich mal auf eine schicke Klasse umschreiben sollte (man bastelt ja immer so seine Provisorien und die halten dann ewig). Dein Ansatz würde sich mit einigen Anpassungen sehr schön eignen!
Liebe Grüße aus ><)))°> Town
Jan