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 zum Abrufen eines einzelnen CSV Feldes
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 Spaltennummer 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 kann nützlich sein, wenn Sie normalerweise mit der Tabelle in einer Tabellenkalkulationsanwendung gearbeitet 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 gibt "bicycle" für die erste Datenzeile zurück, dann "cabriolet" für die zweite Zeile, dann "limousine" und schließlich "sled".
Zweideutigkeiten
Es kann der Fall eintreten, dass in der Tabelle CSV Spalten mit Namen existieren, die 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, besonders gekennzeichnet werden (escaped).
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 (rechts vom "=") eines Befehls zur Verwendung in auflösbaren Ausdrücken gültig (siehe auch Ausdrücke und ihre Auflösung).
[*] Der aktuelle Inhalt des Feldes "dies" (das aktuelle Feld, auf das sich der Befehl bezieht).(#) Die aktuelle CSV Zeilennummer oder der Datensatzindex.
(*) Die Spaltennummer des aktuellen "dieses" Feldes
[#] Feldname der aktuellen Spaltennummer, beginnend mit 1 (und was ist mit dem Feld [#]?)
Es gibt auch eine Abkürzung für die linke Seite solcher Befehle, die auf eine Liste von Spalten angewendet werden kann:
[*] Dies bedeutet "alle Spalten der aktuellen Zeile".