| 123456789101112131415161718192021222324252627282930313233343536373839 | [[csv-processor]]=== CSV processor++++<titleabbrev>CSV</titleabbrev>++++Extracts fields from CSV line out of a single text field within a document. Any empty field in CSV will be skipped.[[csv-options]].CSV Options[options="header"]|======| Name              | Required  | Default  | Description| `field`           | yes       | -        | The field to extract data from| `target_fields`   | yes       | -        | The array of fields to assign extracted values to| `separator`       | no        | ,        | Separator used in CSV, has to be single character string| `quote`           | no        | "        | Quote used in CSV, has to be single character string| `ignore_missing`  | no        | `true`   | If `true` and `field` does not exist, the processor quietly exits without modifying the document| `trim`            | no        | `false`  | Trim whitespaces in unquoted fields| `empty_value`     | no        | -        | Value used to fill empty fields, empty fields will be skipped if this is not provided.                                             Empty field is one with no value (2 consecutive separators) or empty quotes (`""`)include::common-options.asciidoc[]|======[source,js]--------------------------------------------------{  "csv": {    "field": "my_field",    "target_fields": ["field1", "field2"]  }}--------------------------------------------------// NOTCONSOLEIf the `trim` option is enabled then any whitespace in the beginning and in the end of each unquoted field will be trimmed.For example with configuration above, a value of `A, B` will result in field `field2`having value `{nbsp}B` (with space at the beginning). If `trim` is enabled `A, B` will result in field `field2`having value `B` (no whitespace). Quoted fields will be left untouched.
 |