Field separator part of a column - incorrect parsing unix

Clash Royale CLAN TAG#URR8PPP
up vote
-2
down vote
favorite
I want to do a check the number of columns in a CSV file before processing it. The problem is that the delimiter (comma) also occurs in the text of some fields and because of that I cannot parse it correctly and I receive too many columns.
Eg:
~new file: 12345~,~125.5~,,,~ example (45), case (20)~,,
7 columns
~new file: 12345~~125.5~- empty
- empty
~ example (45), case (20)~- empty
- empty
The problem is the comma inside ~example (45), case (20)~ in 5th column.
I tried to replace delimiter , with ; using sed but I had to do more than one iteration.
I would like a general rule that will match multiple cases with a more optimal approach.
text-processing awk sed csv
New contributor
Mathew Linton is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
 |Â
show 1 more comment
up vote
-2
down vote
favorite
I want to do a check the number of columns in a CSV file before processing it. The problem is that the delimiter (comma) also occurs in the text of some fields and because of that I cannot parse it correctly and I receive too many columns.
Eg:
~new file: 12345~,~125.5~,,,~ example (45), case (20)~,,
7 columns
~new file: 12345~~125.5~- empty
- empty
~ example (45), case (20)~- empty
- empty
The problem is the comma inside ~example (45), case (20)~ in 5th column.
I tried to replace delimiter , with ; using sed but I had to do more than one iteration.
I would like a general rule that will match multiple cases with a more optimal approach.
text-processing awk sed csv
New contributor
Mathew Linton is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
How do you know which commas are part of the data and which are field separators? Proper CSV uses double quotes to surround such fields.
â roaima
1 hour ago
This is a txt file that is extracted from an application and the separteur when the extract was done was set to be comma.
â Mathew Linton
57 mins ago
@MathewLinton. Thank you Mat, Are columns 3 4 6 7 empty in all the rows in your data? if not and I assume NOT, then the command column is more than enough. If YES then you don't have seven columns and the commandcolumnis more than enough ;-)
â Goro
24 mins ago
It looks like the ~ character is the quoting character (so~hello, world~is one field). Is that correct?
â roaima
4 mins ago
@Goro.In your example you remove all ','. In column 5th I want ',' since is the column value ~ example (45), case (20)~ and I don't want to alter the data.
â Mathew Linton
1 min ago
 |Â
show 1 more comment
up vote
-2
down vote
favorite
up vote
-2
down vote
favorite
I want to do a check the number of columns in a CSV file before processing it. The problem is that the delimiter (comma) also occurs in the text of some fields and because of that I cannot parse it correctly and I receive too many columns.
Eg:
~new file: 12345~,~125.5~,,,~ example (45), case (20)~,,
7 columns
~new file: 12345~~125.5~- empty
- empty
~ example (45), case (20)~- empty
- empty
The problem is the comma inside ~example (45), case (20)~ in 5th column.
I tried to replace delimiter , with ; using sed but I had to do more than one iteration.
I would like a general rule that will match multiple cases with a more optimal approach.
text-processing awk sed csv
New contributor
Mathew Linton is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
I want to do a check the number of columns in a CSV file before processing it. The problem is that the delimiter (comma) also occurs in the text of some fields and because of that I cannot parse it correctly and I receive too many columns.
Eg:
~new file: 12345~,~125.5~,,,~ example (45), case (20)~,,
7 columns
~new file: 12345~~125.5~- empty
- empty
~ example (45), case (20)~- empty
- empty
The problem is the comma inside ~example (45), case (20)~ in 5th column.
I tried to replace delimiter , with ; using sed but I had to do more than one iteration.
I would like a general rule that will match multiple cases with a more optimal approach.
text-processing awk sed csv
text-processing awk sed csv
New contributor
Mathew Linton is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Mathew Linton is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
edited 9 mins ago
Kusalananda
109k14211334
109k14211334
New contributor
Mathew Linton is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked 1 hour ago
Mathew Linton
62
62
New contributor
Mathew Linton is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Mathew Linton is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Mathew Linton is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
How do you know which commas are part of the data and which are field separators? Proper CSV uses double quotes to surround such fields.
â roaima
1 hour ago
This is a txt file that is extracted from an application and the separteur when the extract was done was set to be comma.
â Mathew Linton
57 mins ago
@MathewLinton. Thank you Mat, Are columns 3 4 6 7 empty in all the rows in your data? if not and I assume NOT, then the command column is more than enough. If YES then you don't have seven columns and the commandcolumnis more than enough ;-)
â Goro
24 mins ago
It looks like the ~ character is the quoting character (so~hello, world~is one field). Is that correct?
â roaima
4 mins ago
@Goro.In your example you remove all ','. In column 5th I want ',' since is the column value ~ example (45), case (20)~ and I don't want to alter the data.
â Mathew Linton
1 min ago
 |Â
show 1 more comment
How do you know which commas are part of the data and which are field separators? Proper CSV uses double quotes to surround such fields.
â roaima
1 hour ago
This is a txt file that is extracted from an application and the separteur when the extract was done was set to be comma.
â Mathew Linton
57 mins ago
@MathewLinton. Thank you Mat, Are columns 3 4 6 7 empty in all the rows in your data? if not and I assume NOT, then the command column is more than enough. If YES then you don't have seven columns and the commandcolumnis more than enough ;-)
â Goro
24 mins ago
It looks like the ~ character is the quoting character (so~hello, world~is one field). Is that correct?
â roaima
4 mins ago
@Goro.In your example you remove all ','. In column 5th I want ',' since is the column value ~ example (45), case (20)~ and I don't want to alter the data.
â Mathew Linton
1 min ago
How do you know which commas are part of the data and which are field separators? Proper CSV uses double quotes to surround such fields.
â roaima
1 hour ago
How do you know which commas are part of the data and which are field separators? Proper CSV uses double quotes to surround such fields.
â roaima
1 hour ago
This is a txt file that is extracted from an application and the separteur when the extract was done was set to be comma.
â Mathew Linton
57 mins ago
This is a txt file that is extracted from an application and the separteur when the extract was done was set to be comma.
â Mathew Linton
57 mins ago
@MathewLinton. Thank you Mat, Are columns 3 4 6 7 empty in all the rows in your data? if not and I assume NOT, then the command column is more than enough. If YES then you don't have seven columns and the command
column is more than enough ;-)â Goro
24 mins ago
@MathewLinton. Thank you Mat, Are columns 3 4 6 7 empty in all the rows in your data? if not and I assume NOT, then the command column is more than enough. If YES then you don't have seven columns and the command
column is more than enough ;-)â Goro
24 mins ago
It looks like the ~ character is the quoting character (so
~hello, world~ is one field). Is that correct?â roaima
4 mins ago
It looks like the ~ character is the quoting character (so
~hello, world~ is one field). Is that correct?â roaima
4 mins ago
@Goro.In your example you remove all ','. In column 5th I want ',' since is the column value ~ example (45), case (20)~ and I don't want to alter the data.
â Mathew Linton
1 min ago
@Goro.In your example you remove all ','. In column 5th I want ',' since is the column value ~ example (45), case (20)~ and I don't want to alter the data.
â Mathew Linton
1 min ago
 |Â
show 1 more comment
3 Answers
3
active
oldest
votes
up vote
1
down vote
I assume , is the columns delimiter, I would just run the command column:
echo "~new file: 12345~,~125.5~,,,~ example (45), case (20)~,," | column -t -s','
or
column -t -s',' file
output:
~new file: 12345~ ~125.5~ ~ example (45) case (20)~
I think you misunderstood the question. Here~ example (45), case (20)~is a single column but column is splitting in into two columns. I see the format of values in each column is,~...~,where comma also can be within a filed like in,~something with comma, and rest~,for non empty fields. it's the~inplace of quote"
â sddgob
1 hour ago
No, we have 7 columns. This is an example of the output that can be used: ~new file: 12345~;~125.5~;;;~ example (45), case(20)~;;
â Mathew Linton
56 mins ago
I amended the question with each column value
â Mathew Linton
42 mins ago
add a comment |Â
up vote
1
down vote
Using awk you would do:
awk -F, ' gsub(/~[^~]*~/,""); print NF ' infile
for an input like:
~new file: 12345~,~125.5~,,,~ example (45), case (20)~,,
,~125.5~,,,~ example (45), case (20)~
It will return:
7
5
In gsub(/~[^~]*~/,""), we are replacing every pattern started from a ~ till the next ~ seen (like ~...~) with empty string; see below:
awk -F, ' gsub(/~[^~]*~/,""); print $0 ' infile
,,,,,,
,,,,
This assume that there is no inner ~ like ,~some~thing~, in your input.
then print NF will print the number of fields according to the specified filed separator -F .
add a comment |Â
up vote
1
down vote
This looks like a CSV file that is using comma as field delimiters and tilde as quoting character.
Using a proper CSV parser, like the one provided by the Text::CSV Perl module:
perl -MText::CSV -e 'print scalar(@Text::CSV->new(quote_char=>"~")->getline(*STDIN))' <file.csv
This would read the first line of the CSV file file.csv and print the number of columns in it. We instantiate a parser that understands that the quote character is a tilde before reading the first line with this parser. The getline() method on this parser would read a line from the given filehandle and return a reference to an array of data, one item per parsed column. The print scalar(...) is a fairly common way to print the length of an array in Perl.
Another way, using the CSVKit command line CSV parser toolkit:
csvstat -n -q '~' <file.csv | wc -l
or equivalently, using long options,
csvstat --names --quotechar '~' <file.csv | wc -l
This would likewise read the first line of the input file and return a listing of the headers (the first line of a CSV file usually contains column headers), one per line. The wc -l counts the number of lines returned.
When you later parse the CSV file, I suggest that you use one of these approaches, or look for a proper parser in the programming language that you are most used to. awk and sed may be used on simple CSV data, but in this case your data is using some of the CSV format features that these tools would have difficulties to cope with without taking great care.
add a comment |Â
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
I assume , is the columns delimiter, I would just run the command column:
echo "~new file: 12345~,~125.5~,,,~ example (45), case (20)~,," | column -t -s','
or
column -t -s',' file
output:
~new file: 12345~ ~125.5~ ~ example (45) case (20)~
I think you misunderstood the question. Here~ example (45), case (20)~is a single column but column is splitting in into two columns. I see the format of values in each column is,~...~,where comma also can be within a filed like in,~something with comma, and rest~,for non empty fields. it's the~inplace of quote"
â sddgob
1 hour ago
No, we have 7 columns. This is an example of the output that can be used: ~new file: 12345~;~125.5~;;;~ example (45), case(20)~;;
â Mathew Linton
56 mins ago
I amended the question with each column value
â Mathew Linton
42 mins ago
add a comment |Â
up vote
1
down vote
I assume , is the columns delimiter, I would just run the command column:
echo "~new file: 12345~,~125.5~,,,~ example (45), case (20)~,," | column -t -s','
or
column -t -s',' file
output:
~new file: 12345~ ~125.5~ ~ example (45) case (20)~
I think you misunderstood the question. Here~ example (45), case (20)~is a single column but column is splitting in into two columns. I see the format of values in each column is,~...~,where comma also can be within a filed like in,~something with comma, and rest~,for non empty fields. it's the~inplace of quote"
â sddgob
1 hour ago
No, we have 7 columns. This is an example of the output that can be used: ~new file: 12345~;~125.5~;;;~ example (45), case(20)~;;
â Mathew Linton
56 mins ago
I amended the question with each column value
â Mathew Linton
42 mins ago
add a comment |Â
up vote
1
down vote
up vote
1
down vote
I assume , is the columns delimiter, I would just run the command column:
echo "~new file: 12345~,~125.5~,,,~ example (45), case (20)~,," | column -t -s','
or
column -t -s',' file
output:
~new file: 12345~ ~125.5~ ~ example (45) case (20)~
I assume , is the columns delimiter, I would just run the command column:
echo "~new file: 12345~,~125.5~,,,~ example (45), case (20)~,," | column -t -s','
or
column -t -s',' file
output:
~new file: 12345~ ~125.5~ ~ example (45) case (20)~
answered 1 hour ago
Goro
8,24354182
8,24354182
I think you misunderstood the question. Here~ example (45), case (20)~is a single column but column is splitting in into two columns. I see the format of values in each column is,~...~,where comma also can be within a filed like in,~something with comma, and rest~,for non empty fields. it's the~inplace of quote"
â sddgob
1 hour ago
No, we have 7 columns. This is an example of the output that can be used: ~new file: 12345~;~125.5~;;;~ example (45), case(20)~;;
â Mathew Linton
56 mins ago
I amended the question with each column value
â Mathew Linton
42 mins ago
add a comment |Â
I think you misunderstood the question. Here~ example (45), case (20)~is a single column but column is splitting in into two columns. I see the format of values in each column is,~...~,where comma also can be within a filed like in,~something with comma, and rest~,for non empty fields. it's the~inplace of quote"
â sddgob
1 hour ago
No, we have 7 columns. This is an example of the output that can be used: ~new file: 12345~;~125.5~;;;~ example (45), case(20)~;;
â Mathew Linton
56 mins ago
I amended the question with each column value
â Mathew Linton
42 mins ago
I think you misunderstood the question. Here
~ example (45), case (20)~ is a single column but column is splitting in into two columns. I see the format of values in each column is ,~...~, where comma also can be within a filed like in ,~something with comma, and rest~, for non empty fields. it's the ~ inplace of quote "â sddgob
1 hour ago
I think you misunderstood the question. Here
~ example (45), case (20)~ is a single column but column is splitting in into two columns. I see the format of values in each column is ,~...~, where comma also can be within a filed like in ,~something with comma, and rest~, for non empty fields. it's the ~ inplace of quote "â sddgob
1 hour ago
No, we have 7 columns. This is an example of the output that can be used: ~new file: 12345~;~125.5~;;;~ example (45), case(20)~;;
â Mathew Linton
56 mins ago
No, we have 7 columns. This is an example of the output that can be used: ~new file: 12345~;~125.5~;;;~ example (45), case(20)~;;
â Mathew Linton
56 mins ago
I amended the question with each column value
â Mathew Linton
42 mins ago
I amended the question with each column value
â Mathew Linton
42 mins ago
add a comment |Â
up vote
1
down vote
Using awk you would do:
awk -F, ' gsub(/~[^~]*~/,""); print NF ' infile
for an input like:
~new file: 12345~,~125.5~,,,~ example (45), case (20)~,,
,~125.5~,,,~ example (45), case (20)~
It will return:
7
5
In gsub(/~[^~]*~/,""), we are replacing every pattern started from a ~ till the next ~ seen (like ~...~) with empty string; see below:
awk -F, ' gsub(/~[^~]*~/,""); print $0 ' infile
,,,,,,
,,,,
This assume that there is no inner ~ like ,~some~thing~, in your input.
then print NF will print the number of fields according to the specified filed separator -F .
add a comment |Â
up vote
1
down vote
Using awk you would do:
awk -F, ' gsub(/~[^~]*~/,""); print NF ' infile
for an input like:
~new file: 12345~,~125.5~,,,~ example (45), case (20)~,,
,~125.5~,,,~ example (45), case (20)~
It will return:
7
5
In gsub(/~[^~]*~/,""), we are replacing every pattern started from a ~ till the next ~ seen (like ~...~) with empty string; see below:
awk -F, ' gsub(/~[^~]*~/,""); print $0 ' infile
,,,,,,
,,,,
This assume that there is no inner ~ like ,~some~thing~, in your input.
then print NF will print the number of fields according to the specified filed separator -F .
add a comment |Â
up vote
1
down vote
up vote
1
down vote
Using awk you would do:
awk -F, ' gsub(/~[^~]*~/,""); print NF ' infile
for an input like:
~new file: 12345~,~125.5~,,,~ example (45), case (20)~,,
,~125.5~,,,~ example (45), case (20)~
It will return:
7
5
In gsub(/~[^~]*~/,""), we are replacing every pattern started from a ~ till the next ~ seen (like ~...~) with empty string; see below:
awk -F, ' gsub(/~[^~]*~/,""); print $0 ' infile
,,,,,,
,,,,
This assume that there is no inner ~ like ,~some~thing~, in your input.
then print NF will print the number of fields according to the specified filed separator -F .
Using awk you would do:
awk -F, ' gsub(/~[^~]*~/,""); print NF ' infile
for an input like:
~new file: 12345~,~125.5~,,,~ example (45), case (20)~,,
,~125.5~,,,~ example (45), case (20)~
It will return:
7
5
In gsub(/~[^~]*~/,""), we are replacing every pattern started from a ~ till the next ~ seen (like ~...~) with empty string; see below:
awk -F, ' gsub(/~[^~]*~/,""); print $0 ' infile
,,,,,,
,,,,
This assume that there is no inner ~ like ,~some~thing~, in your input.
then print NF will print the number of fields according to the specified filed separator -F .
edited 33 mins ago
community wiki
3 revs
ñÃÂsýù÷
add a comment |Â
add a comment |Â
up vote
1
down vote
This looks like a CSV file that is using comma as field delimiters and tilde as quoting character.
Using a proper CSV parser, like the one provided by the Text::CSV Perl module:
perl -MText::CSV -e 'print scalar(@Text::CSV->new(quote_char=>"~")->getline(*STDIN))' <file.csv
This would read the first line of the CSV file file.csv and print the number of columns in it. We instantiate a parser that understands that the quote character is a tilde before reading the first line with this parser. The getline() method on this parser would read a line from the given filehandle and return a reference to an array of data, one item per parsed column. The print scalar(...) is a fairly common way to print the length of an array in Perl.
Another way, using the CSVKit command line CSV parser toolkit:
csvstat -n -q '~' <file.csv | wc -l
or equivalently, using long options,
csvstat --names --quotechar '~' <file.csv | wc -l
This would likewise read the first line of the input file and return a listing of the headers (the first line of a CSV file usually contains column headers), one per line. The wc -l counts the number of lines returned.
When you later parse the CSV file, I suggest that you use one of these approaches, or look for a proper parser in the programming language that you are most used to. awk and sed may be used on simple CSV data, but in this case your data is using some of the CSV format features that these tools would have difficulties to cope with without taking great care.
add a comment |Â
up vote
1
down vote
This looks like a CSV file that is using comma as field delimiters and tilde as quoting character.
Using a proper CSV parser, like the one provided by the Text::CSV Perl module:
perl -MText::CSV -e 'print scalar(@Text::CSV->new(quote_char=>"~")->getline(*STDIN))' <file.csv
This would read the first line of the CSV file file.csv and print the number of columns in it. We instantiate a parser that understands that the quote character is a tilde before reading the first line with this parser. The getline() method on this parser would read a line from the given filehandle and return a reference to an array of data, one item per parsed column. The print scalar(...) is a fairly common way to print the length of an array in Perl.
Another way, using the CSVKit command line CSV parser toolkit:
csvstat -n -q '~' <file.csv | wc -l
or equivalently, using long options,
csvstat --names --quotechar '~' <file.csv | wc -l
This would likewise read the first line of the input file and return a listing of the headers (the first line of a CSV file usually contains column headers), one per line. The wc -l counts the number of lines returned.
When you later parse the CSV file, I suggest that you use one of these approaches, or look for a proper parser in the programming language that you are most used to. awk and sed may be used on simple CSV data, but in this case your data is using some of the CSV format features that these tools would have difficulties to cope with without taking great care.
add a comment |Â
up vote
1
down vote
up vote
1
down vote
This looks like a CSV file that is using comma as field delimiters and tilde as quoting character.
Using a proper CSV parser, like the one provided by the Text::CSV Perl module:
perl -MText::CSV -e 'print scalar(@Text::CSV->new(quote_char=>"~")->getline(*STDIN))' <file.csv
This would read the first line of the CSV file file.csv and print the number of columns in it. We instantiate a parser that understands that the quote character is a tilde before reading the first line with this parser. The getline() method on this parser would read a line from the given filehandle and return a reference to an array of data, one item per parsed column. The print scalar(...) is a fairly common way to print the length of an array in Perl.
Another way, using the CSVKit command line CSV parser toolkit:
csvstat -n -q '~' <file.csv | wc -l
or equivalently, using long options,
csvstat --names --quotechar '~' <file.csv | wc -l
This would likewise read the first line of the input file and return a listing of the headers (the first line of a CSV file usually contains column headers), one per line. The wc -l counts the number of lines returned.
When you later parse the CSV file, I suggest that you use one of these approaches, or look for a proper parser in the programming language that you are most used to. awk and sed may be used on simple CSV data, but in this case your data is using some of the CSV format features that these tools would have difficulties to cope with without taking great care.
This looks like a CSV file that is using comma as field delimiters and tilde as quoting character.
Using a proper CSV parser, like the one provided by the Text::CSV Perl module:
perl -MText::CSV -e 'print scalar(@Text::CSV->new(quote_char=>"~")->getline(*STDIN))' <file.csv
This would read the first line of the CSV file file.csv and print the number of columns in it. We instantiate a parser that understands that the quote character is a tilde before reading the first line with this parser. The getline() method on this parser would read a line from the given filehandle and return a reference to an array of data, one item per parsed column. The print scalar(...) is a fairly common way to print the length of an array in Perl.
Another way, using the CSVKit command line CSV parser toolkit:
csvstat -n -q '~' <file.csv | wc -l
or equivalently, using long options,
csvstat --names --quotechar '~' <file.csv | wc -l
This would likewise read the first line of the input file and return a listing of the headers (the first line of a CSV file usually contains column headers), one per line. The wc -l counts the number of lines returned.
When you later parse the CSV file, I suggest that you use one of these approaches, or look for a proper parser in the programming language that you are most used to. awk and sed may be used on simple CSV data, but in this case your data is using some of the CSV format features that these tools would have difficulties to cope with without taking great care.
edited 5 mins ago
answered 19 mins ago
Kusalananda
109k14211334
109k14211334
add a comment |Â
add a comment |Â
Mathew Linton is a new contributor. Be nice, and check out our Code of Conduct.
Mathew Linton is a new contributor. Be nice, and check out our Code of Conduct.
Mathew Linton is a new contributor. Be nice, and check out our Code of Conduct.
Mathew Linton is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f474609%2ffield-separator-part-of-a-column-incorrect-parsing-unix%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
How do you know which commas are part of the data and which are field separators? Proper CSV uses double quotes to surround such fields.
â roaima
1 hour ago
This is a txt file that is extracted from an application and the separteur when the extract was done was set to be comma.
â Mathew Linton
57 mins ago
@MathewLinton. Thank you Mat, Are columns 3 4 6 7 empty in all the rows in your data? if not and I assume NOT, then the command column is more than enough. If YES then you don't have seven columns and the command
columnis more than enough ;-)â Goro
24 mins ago
It looks like the ~ character is the quoting character (so
~hello, world~is one field). Is that correct?â roaima
4 mins ago
@Goro.In your example you remove all ','. In column 5th I want ',' since is the column value ~ example (45), case (20)~ and I don't want to alter the data.
â Mathew Linton
1 min ago