CSVfox
Get the job done.
 Deutsch

±usenull, ±u

Legt fest, ob "null" für die Dateieingabe oder -ausgabe unterstützt wird

Beschreibung

CSV unterstützt im Allgemeinen keinen "null" Wert. Es kennt nur leere Textfelder mit einer Länge von 0. Diese können in ±quotechar Zeichen eingeschlossen sein oder auch nicht. Es macht keinen Unterschied.

In der Praxis gibt es jedoch Anwendungen, die eine Unterscheidung zwischen "leeren" Feldern und "null" Feldern in ihren CSV Importdateien.
Null-Felder sind so definiert, dass sie überhaupt keinen Wert haben, sie sind nicht einfach ein leeres Textfeld.

Auch dafür gibt es bei CSV bereits eine Konvention: während jedes leere Textfeld aus zwei aufeinanderfolgenden ±quotechar Zeichen zwischen den Begrenzungszeichen besteht, sind "null" Felder nicht vorhanden und nicht eingeschlossen; sie werden lediglich durch zwei aufeinanderfolgende Begrenzungszeichen gekennzeichnet.

Der Standardwert für ±usenull ist "no", d.h. diese Einstellung ist deaktiviert.

Muster

±u ±u=y ±usenull=y

Funktion

Die Einstellung ±usenull=yes ändert ein paar weitere Dinge:
Alle automatisch generierten leeren Felder (wie in ±insert oder ±add ohne Inhaltsangabe) werden null anstelle von leer.
±clear bedeutet, dass das Feld/die Felder auf null anstelle von leer.

Beispiele für die Verwendung

csvfox infile.csv +d=";" +u (...)
Geht davon aus, dass die zu lesende Datei CSV ein Semikolon als Feldbegrenzer hat und unterscheidet zwischen ...;"";... (leer) und ...;;... (null) wie oben.
csvfox infile.csv -u outfile.csv
Liest infile.csv (ohne usenull Modus) und schreibt sie in outfile.csv, unter Verwendung des usenull Modus. Da jedoch keine null Felder in der Eingabedatei erkannt wurden, besteht die einzige Auswirkung darin, dass leere Felder, die in der Eingabedatei nicht in Anführungszeichen standen, nun in der Ausgabedatei in doppelten Anführungszeichen stehen.
csvfox infile.csv +d=";" -d=pipe outfile.csv
[To replace] Liest infile.csv mit dem angegebenen Feldbegrenzer ";" und schreibt es in outfile.csv, wobei ein Pipe-Zeichen ("|") als Feldbegrenzer für das Schreiben verwendet wird.
infile.csv:
Spring;Summer;Autumn;Winter blossoms;"green leaves";"fruits and nuts";"tiles stove" bicycle;cabrio;pick-up;sledge
outfile.csv:
Spring|Summer|Autumn|Winter blossoms|"green leaves"|"fruits and nuts"|"tiles stove" bicycle|cabrio|pick-up|sledge
Under construction, coming soon