6 Предобрада CSV-а у JSON

Преглед

У овом кораку предобраде могуће је конвертовати податке CSV датотеке у JSON формат. Подржано је у:

  • ставке (прототипови ставке)
  • правила откривања ниског нивоа

Конфигурација

Да бисте конфигурисали корак предобраде из CSV-а у JSON:

Први параметар омогућава постављање прилагођеног делимитера. Имајте на уму да ако је први ред CSV уноса почиње са "Sep=" и прати га један UTF-8 карактер, онда ће се тај карактер користити као делимитер у случају да први параметар није подешен. Ако први параметар није подешен а делимитер се не преузима из реда "Sep=", онда се зарез користи као сепаратор.

Други опциони параметар омогућава постављање симбола наводника.

Ако је поље за потврду Са редом заглавља означено, вредности из линије заглавља ће бити тумачене као имена колона (погледајте Обрада заглавља за више информација).

Ако је поље за потврду Custom on fail означено, ставка неће постати неподржан у случају неуспелог корака предобраде. Поред тога, могу се подесити прилагођене опције за руковање грешкама: одбацити вредност, поставити наведену вредност или подесите одређену поруку о грешци.

Обрада заглавља

Линија заглавља CSV датотеке може бити обрађена на два различита начина:

  • Ако је означено поље за потврду Са редом заглавља - вредности линија заглавља се тумаче као имена колона. У овом случају називи колона морају бити јединствени и ред са подацима не би требало да садржи више колона од реда заглавља.
  • Ако поље за потврду Са редом заглавља није означено - линија заглавља се тумачи као податак. Називи колона се генеришу аутоматски (1,2,3,4...).

Пример CSV датотеке:

Nr,Item name,Key,Qty
       1,active agent item,agent.hostname,33
       "2","passive agent item","agent.version","44"
       3,"active,passive agent items",agent.ping,55

Знак наводника унутар поља са наводницима у унетом пољу мора бити изостављен тако што ће му претходити други знак наводника.

Обрада реда заголавља

JSON излаз када се очекује ред заглавља:

[
          {
             "Nr":"1",
             "Item name":"active agent item",
             "Key":"agent.hostname",
             "Qty":"33"
          },
          {
             "Nr":"2",
             "Item name":"passive agent item",
             "Key":"agent.version",
             "Qty":"44"
          },
          {
             "Nr":"3",
             "Item name":"active,passive agent items",
             "Key":"agent.ping",
             "Qty":"55"
          }
       ]

Обрада без редда загалавља

JSON излаз када се не очекује ред заглавља:

[
          {
             "1":"Nr",
             "2":"Item name",
             "3":"Key"
             "4":"Qty"
          },
          {
             "1":"1",
             "2":"active agent item",
             "3":"agent.hostname"
             "4":"33"
          },
          {
             "1":"2",
             "2":"passive agent item",
             "3":"agent.version"
             "4":"44"
          },
          {
             "1":"3",
             "2":"active,passive agent items",
             "3":"agent.ping"
             "4":"55"
          }
       ]