5 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"
          }
       ]