CSV

CSV

CSV

➪ Ein ebenfalls sehr gebräuchliches Format für den Datenaustausch ist CSV: comma-separated-value. Das Format eignet sich hervorragend für die Verarbeitung tabellenartiger, also 2-dimensionaler Strukturen. Der minimale Overhead wirkt sich vorteilhaft auf die Dateigröße und auf die Verarbeitungsgeschwindigkeit aus.

Eine häufige Aufgabe ist die automatisierte Konvertierung von CSV in XML. Hier stehen zahlreiche Alternativen zur Verfügung, beispielsweise in XSL und .

Andererseits kann die Auswertung angesichts zahlreicher Carriage returns, diverser Trennzeichen (Semikolon oder Komma etc.) fehleranfällig werden. Besonders bei großen Datenmengen ist vor ihrer Weiterverarbeitung eine automatische Datenvalidierung sinnvoll.

Zur Datenvalidierung von CSV-Dateien bieten sich an. Diese ermöglichen die Definition präziser Muster, um jede Zeile einzeln prüfen zu können. Entspricht eine Zeile nicht jenem Pattern, kann ein Fehlerreport sofort die betreffenden Zeilen anzeigen und die Weiterverarbeitung der Gesamtdatei rechtzeitig unterbunden werden.

Verwendbar sind reguläre Ausdrücke beispielsweise in:

Angenommen, Sie haben es mit folgender Struktur zu tun:


id;name;vorname;Geld
1;Holzflos;Hugo;234.56
4;Nixlos;Nicole;1234.56
9;Sprachlos;Stefan;5430
2;Sagblos;Stefan;321.45

Abgesehen von der ersten (Header-)Zeile soll jede weitere Zeile gegen dieses Pattern validiert werden:


^[0-9]+;([A-Z]{1}[a-z]+;){2}[0-9]+(\.[0-9]{2})?$
^[0-9]+; Der Ausdruck erzwingt, dass die ersten Zeichen bis zum ";" Zahlen sein müssen; eine Begrenzung ist nicht vorgesehen
([A-Z]{1}[a-z]+;){2} Dieser Teil gilt für "name" und "vorname" gleichermaßen. Die Zeichenketten müssen mit einem Großbuchstaben beginnen, anschließend muss mindestens ein Kleinbuchstabe erfolgen. Das Semikolon ";" schließt den Teil ab. die "{2}" am Ende erzwingt, dass dieses Pattern zweimal auftreten muss: eben für "name" und "vorname".
[0-9]+(\.[0-9]{2})?$ Der letzte Teil "Geld" muss mit mindestens einer Zahl beginnen; optional können nach einem "." noch max. z weitere Zahlen kommen.

wg / 13. Mai 2018



Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/CSV.html