5 Preprocesamiento de CSV a JSON

Descripción general

En este paso de preprocesamiento es posible convertir datos de archivos CSV a formato JSON. Está soportado en:

  • métricas (prototipos de métricas)
  • reglas de descubrimiento de bajo nivel

Configuración

Para configurar un paso de preprocesamiento de CSV a JSON:

El primer parámetro permite establecer un delimitador personalizado. Tenga en cuenta que si la primera línea de entrada CSV comienza con "Sep=" y va seguida de un único carácter UTF-8, ese carácter se utilizará como delimitador en caso de que el primer parámetro no está configurado. Si el primer parámetro no está configurado y no se obtiene un delimitador de la línea "Sep=", entonces se utiliza una coma como separador.

El segundo parámetro opcional permite establecer un símbolo de cotización.

Si la casilla de verificación Con fila de encabezado está marcada, los valores de la línea de encabezado se interpretan como nombres de columnas (consulte Procesamiento del encabezado para obtener más información).

Si la casilla de verificación Personalizado en caso de error está marcada, la métrica no se convertirá en no compatible en caso de que falle un paso de preprocesamiento. Además se pueden configurar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor específico o establecer un mensaje de error específico.

Procesamiento de encabezado

La línea de encabezado del archivo CSV se puede procesar de dos maneras diferentes:

  • Si la casilla de verificación Con fila de encabezado está marcada, los valores de la línea de encabezado son interpretados como nombres de columnas. En este caso los nombres de las columnas deben ser únicos y la fila de datos no debe contener más columnas que las de la fila de encabezado;
  • Si la casilla de verificación Con fila de encabezado no está marcada, la línea de encabezado es interpretada como datos. Los nombres de las columnas se generan automáticamente (1,2,3,4...)

Ejemplo de archivo 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

Un carácter de comilla dentro de un campo entre comillas en la entrada debe escaparse precediéndolo de otra comilla.

Procesamiento de la línea de encabezado

Salida JSON cuando se espera una línea de encabezado:

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

Sin procesamiento de línea de encabezado

Salida JSON cuando no se espera una línea de encabezado:

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