EXPORT_CSV

EXPORT_CSV

Akcia EXPORT_CSV


Funkcia

Export riadku, stĺpca alebo celej lokálnej štruktúrovanej premennej (t.j. lokálnej premennej typu Record) do CSV súboru.

Deklarácia

EXPORT_CSV toExportStruct, delimiter, fName, timeZone, retCodeIdent_Int[, transPalIdx_Int] [TIME] [UTF8 | ENCODING "@APP_DEFAULT@"] [APPEND]

Parametre

toExportStruct

in

Identifikátor riadku, identifikátor stĺpca alebo identifikátor celej lokálnej premennej typu Record.

delimiter

in

Identifikátor typu Text - oddeľovač v CSV súbore.

fName

in

Meno súboru aj s príponou.

timeZone

in

Parameter typu Text, Int alebo Bool - určuje ako budú exportované časové značky.

retCodeIdent_Int

out

Návratová hodnota typu Int - úspešnosť akcie.

transPalIdx

in

Nepovinný parameter typu Int.

output

out

Výsledok exportu typu Text

TIME

in

Kľúčové slovo.

UTF8

in

Kľúčové slovo.

ENCODING

in

Kľúčové slovo, za ním nasleduje názov kódovania súboru v textovom tvare. Zoznam podporovaných kódovaní v ESL.

APPEND

in

Kľúčové slovo.

Návratový kód

Hodnota parametra retCodeIdent_Int - pozri tabuľku chybových stavov.

Popis

Akcia generuje súbor formátu .CSV. Meno súboru je dané hodnotou parametra fName. Oddeľovač položiek v CSV súbore je daný parametrom delimiter.
Úspešnosť operácie je indikovaná výstupným parametrom retCodeIdent_Int. Hodnota 0 znamená úspešný export, hodnota rôzna od 0 chybu.

V závislosti od parametra toExportStruct akcia exportuje:

  • celú lokálnu premennú

  • riadok lokálnej premennej

  • stĺpec lokálnej premennej


Formát CSV súboru
Lokálna premenná sa do CSV súboru zapisuje po riadkoch (riadok premennej predstavuje riadok v CSV súbore).
Vzhľadom na to, že formát CSV súboru nie je jednoznačne definovaný, akcia ako druhý parameter očakáva oddeľovač (delimiter). Je to 1-znakový reťazec (1 znak) ktorý bude použitý pri oddeľovaní položiek v CSV súbore.
Reálne čísla používajú ako oddeľovač desatinných miest desatinnú bodku '.'.

Ak je použité kľúčové slovo TIME, do CSV súboru bude zapisovaný aj čas vzniku hodnoty pre každú položku lokálnej premennej. Čas je vždy uvedený pred vlastnou hodnotou položky. CSV súbor má preto dvojnásobný počet stĺpcov.
Ak je použité kľúčové slovo UTF8, akcia generuje textový súbor kódovaný vo formáte UTF-8.
Pri použití kľúčového slova APPEND, akcia doplní dáta do existujúceho CSV súboru. Ak zadaný súbor nenájde, tak ho vytvorí.

Čas je formátovaný maskou definovanou v transformačnej palete pod indexom daným hodnotou parametra transPalIdx_Int.
Ak tento parameter nie je uvedený, alebo jeho hodnota je 0, použije sa maska dd.mm.rrrr hh:mi:ss. Ak je jeho hodnota -1, potom konverzia hodnôt typu Absolútny čas a Real prebieha podľa nastavenia v Regional and Language Options aktuálneho užívateľa na systémoch Windows. Pre iné systémy je hodnota -1 automaticky nahradená hodnotou 0.

Parameter timeZone určuje ako majú byť exportované časové hodnoty. V prípade, že je zadaný prázdny text, sú časy exportované ako lokálne časy. V prípade zadania názvu časovej zóny (napr. "Europe/London"), budú časy exportované ako lokálne časy pre zadanú časovú zónu. V prípade zadania celočíselnej hodnoty, budú časy exportované ako časy s fixným posunom voči UTC, kde zadaná hodnota parametra definuje posun voči UTC v sekundách. Z historických dôvodov sú akceptované aj hodnoty @FALSE - časy sú exportované ako lokálne, a @TRUE - časy sú exportované ako časy s fixným posunom 3600 sekúnd (1 hodina) voči UTC. Použitie hodnoty @TRUE sa neodporúča a generuje upozornenie pri ukladaní ESL skriptu. Odporúča sa nahradiť ju celočíselnou hodnotou.


Oddeľovač v CSV súbore (parameter delimiter) je možné získať volaním funkcie %GetCSVDelimiter.

Príklad

Predpoklady:
Je definovaný objekt SD.ArchVal typu Definícia štruktúry so stĺpcami:

Meno

Typ

Value

Reálny

Flags

Celočíselný


Je definovaný objekt SV.ArchVal typu Štruktúrovaná premenná. Typ štruktúry je SD.ArchVal. Počet riadkov: 3. Štartovacie hodnoty sú:

Value

Flags

1.2

3

2

2

3

1


Príklad netestuje úspešnosť vykonania akcie.

 

RECORD (SD.ArchVal) _rec REDIM _rec[SV.ArchVal\DIM] SET _rec WITH SV.ArchVal EXPORT_CSV _rec, ';', "c:\rec.csv", 0, _retCode EXPORT_CSV _rec[1], ';', "c:\rec1.csv", 0, _retCode EXPORT_CSV _rec^Value, ';', "c:\recValue.csv", 0, _retCode

 

Akcie exportujú lokálnu premennú _rec, ktorá obsahuje kópiu objektu SV.ArchVal.
Vytvorené súbory:

 

c:\rec.csv

 

1,20000000000000;3 2,00000000000000;2 3,00000000000000;1

 

c:\rec1.csv

 

1,20000000000000;3

 

c:\recValue.csv

 

1,20000000000000 2,00000000000000 3,00000000000000

Súvisiace stránky:

Akcie v skriptoch

Comments