# Removing whitespace from column in csv import

**URL:** <https://discuss.elastic.co/t/removing-whitespace-from-column-in-csv-import/92702>\
**Category:** Logstash\
**Created:** [July 11, 2017, 6:17pm UTC](https://discuss.elastic.co/t/removing-whitespace-from-column-in-csv-import/92702 "2017-07-11T18:17:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jay224](https://avatars.discourse-cdn.com/v4/letter/j/dc4da7/32.png) [@jay224](https://discuss.elastic.co/u/jay224)\
**Post date:** [July 11, 2017, 6:17pm UTC](https://discuss.elastic.co/t/removing-whitespace-from-column-in-csv-import/92702/1 "2017-07-11T18:17:17Z")

</div>

I am trying to ingest csv file into ES. The csv file contains undetermined column names in header. I would to eliminate white space from column names. Since I don't know the column names I can't manually supply column names.  
e.g. "column name with space" should be renamed to "column\_name\_with\_space". Can I achieve this in logstash?

Thanks

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [July 12, 2017, 1:19am UTC](https://discuss.elastic.co/t/removing-whitespace-from-column-in-csv-import/92702/2 "2017-07-12T01:19:46Z")

</div>

You could do it with gsub - [https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html#plugins-filters-mutate-gsub](https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html#plugins-filters-mutate-gsub)

---

<div class="post-metadata">

**Author:** ![jay224](https://avatars.discourse-cdn.com/v4/letter/j/dc4da7/32.png) [@jay224](https://discuss.elastic.co/u/jay224)\
**Post date:** [July 12, 2017, 1:23pm UTC](https://discuss.elastic.co/t/removing-whitespace-from-column-in-csv-import/92702/3 "2017-07-12T13:23:43Z")

</div>

@warkolm I don't I can use that solution as I will not know the column name in advance. The data in csv files can have different columns.

---

<div class="post-metadata">

**Author:** ![paz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/paz/32/28003_2.png) [@paz](https://discuss.elastic.co/u/paz)\
**Post date:** [July 12, 2017, 2:10pm UTC](https://discuss.elastic.co/t/removing-whitespace-from-column-in-csv-import/92702/4 "2017-07-12T14:10:18Z")

</div>

You might need some custom Ruby code to manipulate ad-hoc field names after splitting the original message with CSV.

E.g.

```auto
## CSV filter + other stuff
filter {
    ruby {
        code => "
                hash = event.to_hash
                hash.each{|k,v| event.set(k.gsub(/ /,'_'),v) && event.remove(k) if k.include?(' ') }
            "
    }
}
```

It's kinda hacky but gets the job done.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 9, 2017, 2:10pm UTC](https://discuss.elastic.co/t/removing-whitespace-from-column-in-csv-import/92702/5 "2017-08-09T14:10:22Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
