CSVfox
Get the job done.

-forcequote, -f

Festlegen, ob CSV Datenfelder in Anführungszeichen eingeschlossen werden müssen

Beschreibung

Im Allgemeinen müssen in CSV Dateien einfache Datenfelder, die nur ein Wort oder eine Zahl enthalten, nicht in Anführungszeichen eingeschlossen werden (siehe ±quotechar), sie werden lediglich durch das Begrenzungszeichen getrennt (siehe ±delimiter). Sobald das Datenfeld jedoch Text mit Zeilenumbrüchen oder das Begrenzungszeichen selbst enthält, muss es eingeschlossen werden, um dies deutlich zu machen.

Einige nicht ganz konforme Programme funktionieren jedoch besser, wenn alle Datenfelder eingeschlossen sind. Andere könnten das Textanführungszeichen als Teil des Feldinhalts fehlinterpretieren, so dass es generell weggelassen werden muss.

Bitte beachten Sie, dass, wenn Textanführungszeichen verhindert werden sollen, Vorkehrungen für den Fall getroffen werden müssen, dass ein Feld einen Zeilenumbruch oder ein Anführungszeichen selbst enthalten könnte. Diese sollten entfernt oder durch ein anderes Muster ersetzt werden, bevor dieser Befehl ausgeführt wird, da die Datei CSV sonst möglicherweise schlecht formatiert und unlesbar wird.

Erzwingen von Anführungszeichen für alle Datenfelder

Dieser Befehl erzwingt, dass jedes einzelne Datenfeld mit einem Anführungszeichen (meist ein doppeltes Anführungszeichen ") umschlossen wird.

Muster

-f -forcequote

Einstellung der Quotierungsregeln für alle Datenfelder

Mit diesem Befehl können Sie erzwingen, dass jedes einzelne Datenfeld mit einem Anführungszeichen (meist ein doppeltes Anführungszeichen ") umschlossen wird, oder er verhindert, dass Text in Anführungszeichen gesetzt wird.
Als Parameter für die Einstellung werden "y", "yes", "true", oder "1" akzeptiert, sowie "n", "no", "false", oder "0". Groß-/Kleinschreibung wird ignoriert.

Ein zusätzlicher Wert ist "auto", was bedeutet, dass der Text nach den Standardregeln von CSV umschlossen wird. Dies ist auch die Standardeinstellung.

Muster

-f=Wahrheitswert -forcequote=Wahrheitswert

Beispiele für die Verwendung

Dies ist ein Beispiel für einige Standard-Rohdatenzeilen CSV mit automatischem Einschluss.
Jedes CSV Feld, das Leerzeichen enthält, wurde mit einem Paar von Anführungszeichen umschlossen ".
City,Name,Birth,Driver License Rome,Andrea Bocelli,1958,y Los Angeles,Lieutnant Columbo,1927,y London,Hercule Poirot,1910,- New York,Theodoros Kojak,1922,y
csvfox infile.csv -f=Y outfile.csv
Dadurch wird erzwungen, dass in der Ausgabedatei CSV jedes Feld mit dem Anführungszeichen eingeschlossen wird, unabhängig davon, ob es Zeilenumbrüche, Leerzeichen oder Begrenzungszeichen enthält.
"City","Name","Birth","Driver License" "Rome","Andrea Bocelli","1958","y" "Los Angeles","Lieutnant Columbo","1927","y" "London","Hercule Poirot","1910","-" "New York","Theodoros Kojak","1922","y"
csvfox infile.csv -f=N outfile.csv
Dadurch wird erzwungen, dass die Ausgabedatei CSV kein Feld mit dem Anführungszeichen einschließt, unabhängig davon, ob es Zeilenumbrüche, Leerzeichen oder Begrenzungszeichen enthält.
City,Name,Birth,Driver License Rome,Andrea Bocelli,1958,y Los Angeles,Lieutnant Columbo,1927,y London,Hercule Poirot,1910,- New York,Theodoros Kojak,1922,y

Regeln für ausgewählte Spalten festlegen

Es ist auch möglich, die Quotierung für bestimmte Spalten zu erzwingen (oder zu verhindern), bei denen der Automatismus diese Anforderung nicht sieht. Dies kann der Fall sein, wenn Sie den Import in eine Software vorbereiten, die dies benötigt.
Die nicht erwähnten Spalten werden trotzdem gemäß der Automatik zitiert, da sonst die Regeln von CSV verletzt würden.

Muster

-f[Spalte],[Spalte]-[Spalte],... -forcequote[Spalte],[Spalte]-[Spalte],... -f[Spalte],[Spalte]-[Spalte],...=Wahrheitswert -forcequote [ Spalte],[Spalte]-[Spalte],...=Wahrheitswert

Wenn es notwendig ist, die Spalten, die im obigen Befehl ausgelassen werden, nicht zu zitieren, benötigen Sie zwei Befehle:
1. Deaktivieren Sie die Zitierung aller Spalteninhalte generell
-forcequote=N
2. das Erzwingen der Quotierung für alle gekennzeichneten Spalten
-forcequote[column],[column]-[column],...=Y


Hinweise

Dieser Befehl ist nur für das Schreiben von CSV Ausgabedateien relevant.
Er wird beim Lesen von Eingabe- oder Merge-Dateien von CSV ignoriert.
Under construction, coming soon