Schnellstart – der einfache Weg
Kurz gesagt, müssen Sie Folgendes wissen, um zu beginnen:
- Alle Befehle beginnen mit einem Pluszeichen (+), einem Minuszeichen (-) oder einem Prozentzeichen (%).
- Bei allen Befehlen steht das "+"-Präfix (Plus) für das Lesen oder Verarbeiten der Eingabetabelle und das "-"-Präfix (Minus) für das Ändern der Ausgabetabelle. Das "%"-Präfix (Prozent) hat andere Zwecke.
- Meistens enthält ein Befehl einen Spaltennamen oder eine Liste von Spaltennamen und/oder ein "=" (Gleichheitszeichen), gefolgt von einem Ausdruck oder einer Liste von Ausdrücken.
- Außerdem bezeichnet der erste Parameter, der nicht wie ein Befehl aussieht, die Eingabedatei, während der letzte die Ausgabedatei bezeichnet. (Sie können dies überschreiben, indem Sie die Eingabe- und Ausgabedatei explizit über "+in= filepath" und/oder "-out= filepath" deklarieren.)
- Auf die Datenfelder von CSV kann mit ihren Spaltennamen in eckigen Klammern zugegriffen werden, wie hier: [Mein Feld], mit ihrem Index wie [3] oder im "Excel-Stil" wie [A]. Im Allgemeinen werden die Inhalte der Felder in der ersten Datenzeile als Spaltennamen interpretiert.
- Spaltennamen können Leerzeichen enthalten. Wenn Sie über die Befehlszeile darauf zugreifen, sollten Sie sie daher in Anführungszeichen setzen, um zu verhindern, dass der Befehlszeilenparameter auseinandergerissen wird.
CSV Tabellenumwandlung auf der Befehlszeilenschnittstelle
Ändern des Tabellenformats CSV
Mit dem folgenden Befehl wird das Feldtrennzeichen CSV von einem Komma (,) in ein Semikolon (;) geändert.
Dies ist der Rohinhalt der Tabelle CSV "people_comma.csv":
Jetzt geben wir diesen Befehl ein:
Und dies ist das Ergebnis CSV Tabelle "people_semicolon.csv":
Bitte beachten Sie auch, dass gemäß dem CSV -Standard alle Felder, die das eigentliche Trennzeichen enthalten, automatisch in doppelte Anführungszeichen gesetzt werden.
Neuanordnung der CSV -Datenfelder
Auf die CSV -Datenfelder kann mit ihren Feldnamen in eckigen Klammern zugegriffen werden, wie hier: [Mein Feld] oder mit ihrem Index wie [3].
Name | Age | Eye Color | Hair color |
---|---|---|---|
Anna | 27 | brown | black |
Harald | 59 | grey | blonde; now grey |
Peter | 38 | Left: brown, right: blue | red |
Durch Aufzählen der Ausgabespalten mit dem Befehl "-columns" werden die Spalten wie definiert neu angeordnet. Spalten, die in diesem Befehl nicht benannt werden, werden bei der Ausgabe ausgelassen.
Die Neuanordnung erfolgt also wie folgt:
Name | Eye Color | Age |
---|---|---|
Anna | brown | 27 |
Harald | grey | 59 |
Peter | Left: brown, right: blue | 38 |
Neuberechnung eines CSV -Datenfeldes
Dies ist die Tabelle "Artikel.csv", eine Sammlung von Kleidungsstücken, die zum Verkauf stehen.
ArtNo | Article Name | Price | Size |
---|---|---|---|
348593485 | Long Sleeve Business Shirt | 65.00 | XX |
585048534 | Trousers | 70.00 | XL |
459845414 | Business Jacket | 85.00 | XL |
524525257 | Fine Leather Shoes | 235.00 | EU46 |
Der Laden wird nun alle Preise um 20 Prozent erhöhen.
Die neuen Preise sollen mit zwei Dezimalstellen eingefügt werden:
ArtNo | Article Name | Price | Size |
---|---|---|---|
348593485 | Long Sleeve Business Shirt | 78.00 | XXL |
585048534 | Trousers | 84.00 | XL |
459845414 | Business Jacket | 102.00 | XL |
524525257 | Fine Leather Shoes | 282.00 | EU46 |
Verwendung einer "Job"-Datei
(fehlendes Beispiel)
Dies funktioniert zeilenweise. Zunächst wird die Kopfzeile gelesen (falls vorhanden) und alle Feldnamen werden erkannt.
Danach werden die Tabellenzeilen nacheinander gelesen und jede Zeile wird Befehl für Befehl verarbeitet.
Auf die Felder kann mit ihren Feldnamen in eckigen Klammern wie folgt zugegriffen werden:
Zusätzliche Felder aus anderen Tabellen können zusammengeführt werden, und die gesamte Tabelle kann in neu angeordnete abgeleitete Zeilen aufgeteilt (neu formatiert) werden.
Schließlich wird die Tabelle unter einem neuen Namen gespeichert.
CSVfox ist auch für die Automatisierung geeignet, z. B. für die Verwendung in Batch-Dateien oder PowerShell-Skripten, sodass sie planmäßig von einem Betriebssystem wie Cron oder Task Scheduler ausgeführt werden kann.
Komplexere Befehle oder Konfigurationen können als "Job"-Datei kombiniert werden, um sie in verschiedenen Situationen anzuwenden und wiederzuverwenden.
Weitere Beispiele
- csvfox infile.csv +e=utf-8 +d=";" -e=Windows-1252 -d=pipe outfile.csv
- Dieser Befehl ändert das Format der Datei CSV.
Er liestinfile.csv
und geht dabei von einer UTF-8-Kodierung und einem Semikolon als Trennzeichen aus. Anschließend schreibt er die Daten inoutfile.csv
, wobei er die Trennzeichen in "|" und die Kodierung in ANSI (Windows) ändert.
Siehe auch ±encoding und ±delimiter. - csvfox prices.csv +e=windows-1252 -set[Price]="{([Price]+20%),2}" -e=utf-8 newprices.csv
- Hiermit wird ein numerisches Feld neu berechnet.
Es liest die Windows-formatierte CSV -Datei "prices.csv", erhöht die vorhandene CSV -SpaltePrice um 20 Prozent und formatiert das Ergebnis mit Dezimalkomma und zwei Dezimalstellen. Anschließend werden alle Daten unter Verwendung von UTF-8 in "newprices.csv" geschrieben.
Siehe auch Rechnen mit numerischen CSV Feldern. - csvfox newprices.csv -add["Special Offer Text"]="Just for you: [Price]!" specialoffers.csv
- Dieser Befehl hängt eine neue Spalte an und füllt sie mit Text.
Er hängt die neue SpalteSpecial Offer Text an die Tabelle CSV an und fügt dort Text ein, der den Inhalt vonPrice enthält.
Siehe auch Ausdrücke und ihre Auflösung. - csvfox cities.csv %merge[Name]=[Location]@attractions.csv cityattractions.csv
- Dieses Beispiel kombiniert zwei Dateien.
Es reichert die Daten in "cities.csv" mit allen Feldern der in "attractions.csv" aufgeführten Attraktionen an, wobei die SpalteLocations in "attractions.csv" mit dem FeldName in "cities.csv" übereinstimmt. Die resultierenden Daten werden in "cityattractions.csv" geschrieben.
Siehe auch %merge.