CSVfox
Get the job done.
 Deutsch

CSV Zugang zu Feldern

Wie Sie auf CSV Spalten und Felder zugreifen

Datenzeilen, Felder und Spalten

Auf alle Daten einer CSV Datei wird immer zeilenweise zugegriffen.
"Felder" sind die Dateneinheiten, die in einer CSV Zeile enthalten sind. Felder werden zeilenweise abgerufen und können mit set, regex oder anderen Datenfeldbefehlen manipuliert werden.
Der Begriff "Spalten" bezieht sich auf alle Felder, die in jeder Zeile von CSV den gleichen Platz einnehmen. Sie können durch Spaltenbefehle eingefügt, umbenannt oder aufgeteilt werden.
Wenn die Tabelle also zwölf Spalten hat, hat jede Zeile zwölf Felder.

Spalten oder Felder werden immer in [eckigen Klammern] angesprochen.

Drei Möglichkeiten, ein einzelnes CSV Feld abzurufen

Es gibt 3 Möglichkeiten, ein Feld oder eine Spalte anzusprechen:

1. Wenn Spaltennamen unterstützt werden (dies wird von colnames gesteuert und ist standardmäßig aktiv), dann verwenden Sie diese vorzugsweise.
Auf diese Weise müssen Sie nicht darüber nachdenken, an welcher Position sich die Spalte in der Tabelle genau befindet. Und wenn sich die Tabellenstruktur ändert, funktioniert es trotzdem, solange der Spaltenname derselbe bleibt.
Der Spaltenname ist der Feldinhalt der ersten Zeile von CSV.
=> Sie können also einfach schreiben [MyField] wenn Sie eine Spalte mit dem Wert "MeinFeld" in der ersten CSV Zeile ansprechen wollen.

2. Verwenden Sie die Nummer der Spalte.
Die Spaltennummerierung beginnt mit 1 und zählt aufwärts.
Dies ist eine Art der absoluten Adressierung, unabhängig davon, wie die Spalten benannt sind. Sie ist immer verfügbar, unabhängig davon, ob Spaltennamen überhaupt unterstützt werden.
Verwenden Sie beim Schreiben der Spaltennummer kein Tausendertrennzeichen.
=> Sie können also auch schreiben [3] schreiben, wenn Sie die dritte Spalte adressieren wollen.

3. Verwenden Sie den"Excel-Stil".
Dies ist die Art und Weise, wie gängige Tabellenkalkulationsprogramme wie Excel, OpenOffice, LibreOffice usw. die Spalten aufzählen.
Die Nummerierung im Excel-Stil beginnt mit "A" für die erste Spalte. Dann folgt "B", "C" und so weiter, bis "Z". Dies deckt die Spalten Nr. 1 bis 26.
Nach "Z" geht es weiter mit "AA", "AB", "AC" usw. Diese Werte entsprechen den Spalten Nr. 27, 28, 29 usw.
Das ist praktisch, wenn Sie die Tabelle normalerweise in einer Tabellenkalkulation bearbeitet haben und sofort wissen, wie die Spalten dort betitelt sind.
=> So können Sie sogar schreiben [C] wenn Sie die dritte Spalte ansprechen wollen.

Seasons.csv
SeasonNatureVehicleDays
springflowersbicycle91
summerfruitscabriolet92
autumncolorful leaveslimousine92
wintersnowy twigssled90
In der obigen Tabelle können Sie den Inhalt der dritten Spalte auf die folgenden Arten ansprechen: as [Vehicle], als [3] oder als [C].
Jede dieser Möglichkeiten liefert "Fahrrad" für die erste Datenzeile, dann "Cabrio" für die zweite Zeile, dann "Limousine" und schließlich "Schlitten".

Mehrdeutigkeiten

Es kann der Fall eintreten, dass in der Tabelle CSV Spalten existieren, deren Namen auf verschiedene Weise interpretiert werden können.
Es könnte eine Spalte mit dem Namen "AB" oder eine andere mit dem Namen "12" vorhanden sein. Wenn Sie also versuchen, auf eine Spalte mit dem Namen [AB] zuzugreifen, könnte das auch bedeuten, dass Sie auf die Excel-Spalte AB (die 28. Spalte) zugreifen. In ähnlicher Weise kann der Aufruf der Spalte [12] stattdessen auch "Zugriff auf die zwölfte Spalte" bedeuten.

In diesem Fall lautet die Regel:
Wenn die Datei CSV Spaltennamen verwendet, wird der Spaltenname immer zuerst versucht.
Nur wenn es keine Spalte mit diesem Namen gibt (oder wenn Spaltennamen nicht unterstützt werden), wird die Spaltennummer oder der Name im Excel-Stil versucht.
Wenn es also eine Spalte mit dem Namen "12" gibt, kann sie mit [12] aufgerufen werden. Auf die zwölfte Spalte kann jedoch nicht mehr mit ihrem Index zugegriffen werden, so dass sie mit ihrem Spaltennamen oder, bei Verwendung des Excel-Stils, mit [L] (das zwölfte Zeichen im internationalen Alphabet) aufgerufen werden muss.

Sonderzeichen in CSV Feldnamen

Es besteht eine kleine Möglichkeit, dass der Spaltenname selbst Klammern enthält.
In diesem Fall müssen alle Klammern, die Teil des Spaltennamens sind, speziell gekennzeichnet (escaped) werden.
Escapen bedeutet, dass ein Backslash "\" vor die Klammer im Namen gesetzt wird.
Wenn Sie also auf eine Spalte mit dem Namen "a[b]" zugreifen möchten, können Sie nicht einfach "[a[b]]" schreiben.
Stattdessen müssen Sie "[a\[b\]]" verwenden.
CSVfox identifiziert dann"\[" als "[" und"\]" als "]", und beide werden als Teil des Namens angesehen.

Besondere Felder

Diese feldartigen Tags können nicht Teil des Befehls sein (links vom "="), sie sind nur auf der rechten Seite (Ausdruck) eines Befehls gültig.

[*] Der aktuelle Inhalt des Feldes "dies" (das aktuelle Feld, auf das sich der Befehl bezieht, verwendet in Ausdrücke und ihre Auflösung)
(#) Die aktuelle CSV Zeilennummer oder der Index des Datensatzes.
[#] Feldname der aktuellen Spaltennummer, beginnend mit 1 (und was ist mit dem [#]-Feld?)
Under construction, coming soon