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
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. 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
Season | Nature | Vehicle | Days |
---|---|---|---|
spring | flowers | bicycle | 91 |
summer | fruits | cabriolet | 92 |
autumn | colorful leaves | limousine | 92 |
winter | snowy twigs | sled | 90 |
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
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
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 "
Stattdessen müssen Sie "
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?)