csv-into-map(file a, [mapname b], [keycol(s) c], [csv delim d], [csv encoding e], [clear first f])


Liest eine CSV-Datei in eine Named Map ein. Hinweis: Zeilen, die mit dem Zeichen # beginnen, werden nicht eingelesen.

Parameter a ist der Pfad zur CSV-Datei, b der Name der Map, c der Spalten-Index der Schlüsselspalte, mit 1 beginnend, d ist das CSV-Trennzeichen, e ist das Datei-Encoding, Boolean f gibt an, ob die Map vorher gelöscht wird und g sorgt für Excel-Konformität.

Als Key der Map wird der Wert der Schlüsselspalte c verwendet. Als Wert zum Key wird die gesamte CSV-Zeile, einschließlich der Schlüsselspalte gespeichert, Feldtrenner ist das CSV-Trennzeichen d. Wenn als Key mehrmals derselbe Wert kommt (nicht unique), wird der vorherige Eintrag durch den letzten ersetzt.

Zusammengesetzte Keys: Wenn der Key aus den Werten mehrerer Spalten zusammengesetzt werden soll, kann man in c mehrere Spaltennummern angeben. Das zwischen den Spaltennnummern verwendete Zeichen wird bei der Bildung des Schlüssels in der resultierenden Map verwendet und darf zwischen den einzelnen Werten nicht geändert werden.

Bei wiederholtem Aufruf der Funktion wird die CSV-Datei nur dann neu eingelesen, wenn sie verändert wurde oder wenn seit dem letzten Einlesen mehr als 30 Minuten vergangen sind.

Der Rückgabewert ist die Menge an Einträgen der Map nach dem Durchlauf der Funktion.

Parameterbeschreibung


Parameter

Beschreibung

a

Pfad der CSV-Datei.

b

(optional) Name der Map. Default: default

c

(optional) Nummer der Schlüssel-Spalte(n). Default: 1

d

(optional) CSV-Trennzeichen. Default: ;

e

(optional) Datei-Encoding. Default: Das System-Encoding.

f

(optional) Wenn true, dann wird die Map vorher gelöscht. Default: true

g

(optional) Wenn true, dann wird Excel-Konformität sichergestellt. Wenn leer, dann false (Default).


Beispiele


Gegeben sei folgende CSV-Datei value.csv:


key1_1,key1_2,value1,value2,value3
key2_1,key2_2,value4,value5,value6


Verschiedene Parameter und Ergebnisse:


Parameter a

b

c

d

e

f

g

Ergebnis

Werte der Map

./conf/example/values.csv

RESMAP


,




2

{key1_1=key1_1,key1_2,value1,value2,value3

key2_1=key2_1,key2_2,value4,value5,value6}

./conf/example/values.csv

RESMAP

2

,


true


2

{key1_2=key1_1,key1_2,value1,value2,value3

key2_2=key2_1,key2_2,value4,value5,value6}

./conf/example/values.csv

RESMAP

1#2

,


true


2

{key1_1#key1_2=key1_1,key1_2,value1,value2,value3

key2_1#key2_2=key2_1,key2_2,value4,value5,value6}