6 Preprocessament CSV cap a JSON

Vista general

En aquesta passa de preprocessament, és possible convertir les dades del fitxer CSV al format JSON. Està recolzat en:

  • elements (prototips d'elements)
  • regles de descoberta de baix nivell

Configuració

Per configurar una passa de preprocessament CSV a JSON:

El primer paràmetre us permet definir un delimitador personalitzat. Tingueu en compte que si la primera línia de l'entrada CSV comença amb "Sep=" i va seguida d'un únic caràcter UTF-8, aquest caràcter s'emprarà com a delimitador si no s'estableix el primer paràmetre. Si el primer paràmetre no és pas definit i no s'extreu un delimitador de la línia "Sep=", s'empra una coma com a separador.

El segon paràmetre opcional permet definir un símbol de cotització.

Si la casella Amb filera de capçalera és marcada, els valors de la filera de capçalera s'interpretaran com a noms de columna (veieu processament de capçalera per obtindre més informació).

Si la casella Personalitzat en cas d'errada és marcada, l'element no serà compatible si manca una passa de preprocessament. A més, es poden establir opcions de gestió d'errors personalitzades: ignorar el valor, establir el valor especificat o establir el missatge d'error especificat.

Processament de la capçalera

Procés de la capçalera

La línia de capçalera del fitxer CSV es pot processar de dues maneres diferents:

  • Si la casella Amb filera de capçalera és marcada, els valors de la filera de capçalera s'interpreten com a noms de columna. En aquest cas, els noms de les columnes han d'ésser únics i la filera de dades no ha de contindre més columnes que la filera de capçalera;
  • Si la casella Amb filera de capçalera no és pas marcada, la filera de capçalera s'interpreta com a dades. Els noms de les columnes es generen automàticament (1,2,3,4...)

Exemple de fitxer CSV:

 Nombre, nom de l'element, clau, quantitat
 1, element agent actiu, agent.hostname,33
 "2","element d'agent passiu","agent.version","44"
 3,"elements d'agent actiu i passiu", agent.ping,55

Les cometes en un camp entre cometes de l'entrada s'han d'escapar precedint-les amb una altra cometa.

Processament de filera de capçalera

Sortida JSON quan s'espera una filera de capçalera:

[
   {
      "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"
   }
]

No es processa cap filera de capçalera

Sortida JSON quan no s'espera una filera de capçalera:

[
   {
      "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"
   }
]