Home
Über mich
Blog
Veröffentlichungen
IT-Trainings
Impressum


CSV validieren

Zusammenfassung:

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.

CSV validieren

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 Validierung sinnvoll.

Zur Validierung von CSV-Dateien bieten sich reguläre Ausdrücke an. Diese ermöglichen die Definition präziser Muster, nach denen jede Zeile einzeln geprüft werden kann. Entspricht eine Zeile nicht jenem Pattern, kann ein Fehlerreport sofort die betreffenden Zeilen anzeigen und die Weiterverarbeitung der Gesamtdatei rechtzeitig unterbunden werden.

Angenommen, wir hätten 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 diesesPattern validiert werden:

^[0-9]+;([A-Z]{1}[a-z]+;){2}[0-9]+(\.[0-9]{2})?$
^[0-9]+; Der Ausdruck erzwingt, daß 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 muß mindestens ein Kleinbuchstabe erfolgen. Das Semikolon ";" schließt den Teil ab. die "{2}" am Ende erzwingt, daß dieses Pattern zweimal auftreten muß: eben für "name" und "vorname".
[0-9]+(\.[0-9]{2})?$ Der letzte Teil "Geld" muß mit mindestens einer Zahl beginnen; optional können nach einem "." noch max. z weitere Zahlen kommen.

qrpic/CSV.jpg

wg / 14. Oktober 2017




Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf (info10@wilfried-grupe.de).



Vielen Dank für Ihr Interesse an meiner Arbeit.


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

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