Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to remove white spaces from the CSV files header name in NiFi?

I have a CSV file in which some column name have white spaces in it and some column names are without the white space between characters. I want to remove the white spaces from all the header names that has white space in it. Please help. Thank you!

Attaching screenshot for reference. Example: 'First Name' I want 'FirstName'

I am using ReplaceText processor in which under Search value I have passes \s to search just the header row white spaces and replacement value as Empty string. Also my evaluation mode is 'Line-by-Line'. so now the ouput file is showing as FirstName,LastNameshraddha,srivastavsanstuti,srivastav So it's showing everything in one line. I want white spaces only to be removed from header row and do not touch/merge the data values at all.Thanks

Please tell me how to remove them. Thank you!

enter image description here

like image 935
Shrads Avatar asked Sep 20 '18 15:09

Shrads


2 Answers

@Shu is on the right direction, but the problem is that all spaces in the text will be replaced. In order to replace spaces ONLY in header row, in Shu's solution change:

  1. Search Value:

(?s)(^[^\n]*)(.*$)

  1. Replacement Value:

${'$1':replace(" ","")}$2

like image 129
EdbE Avatar answered Oct 01 '22 06:10

EdbE


Try with below ReplaceText configs:

Search Value

(.*)

Replacement Value

${'$1':replace(" ","")} //we are applying NiFi expression language replace function on the captured group.

Character Set

UTF-8

Maximum Buffer Size

1 MB

Replacement Strategy

Regex Replace

Evaluation Mode

Entire text //works with Line-By-Line mode also

enter image description here

Refer to this link for more details regards to NiFi expression language.

Input flowfile:

First Name,Last Name
shraddha,srivastav
sanstuti,srivastav

Output flowfile:

FirstName,LastName
shraddha,srivastav
sanstuti,srivastav
like image 27
notNull Avatar answered Oct 01 '22 07:10

notNull