To Add extra commas to a CSV file.


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers To Add extra commas to a CSV file.
# 1  
Old 06-26-2012
[Solved] To Add extra commas to a CSV file.

Hi All,

I got this requirement to process a complex CSV file.

Eg File.
Code:
Line 1: Name:,XYz
Line 2: Age:,15
Line 3: Grade:,7
Line 4: 
Line 5: English, Maths, Science,Spanish
Line 6:10,11,13,14

As you can see the maximum column is 4 . The file i need to make is
Code:
Line 1: Name:,XYz,,
Line 2: Age:,15,,
Line 3: Grade:,7,,
Line 4: ,,,,
Line 5: English, Maths, Science,Spanish
Line 6:10,11,13,14

Please notice the extra commas for those lines which is less than 4 ...

This has to be performed in Unix... I have to find out the maximum column length and apply the commas for those lines which does not have them.

Thanks in Advance.

Last edited by Franklin52; 06-26-2012 at 09:37 AM.. Reason: Please use code tags for data and code samples
# 2  
Old 06-26-2012
Code:
$ awk -F, -v OFS=, '{for(i=NF;i<=4;i++){$i=$i""}print}' a.txt
Line 1: Name:,XYz,,
Line 2: Age:,15,,
Line 3: Grade:,7,,
Line 4: ,,,
Line 5: English, Maths, Science,Spanish
Line 6:10,11,13,14

# 3  
Old 06-26-2012
Or:
Code:
awk -F, 'NF=4' OFS=, file

This User Gave Thanks to Franklin52 For This Post:
# 4  
Old 06-26-2012
Thanks a ton for your reply.... itkamaraj and Franklin52.

I observe that the max column (comma) is assumed to be 4... but that is not in my case ..

The number of column is not fixed ... The file can have 3 or even 30 columns .... so the commas has to be placed for the length of values present in Line 5.


Thank you
# 5  
Old 06-26-2012
Code:
$ column_size=$(awk -F, 'a<NF{a=NF}END{print a}' a.txt)
$ echo $column_size
7
$ awk -F, -v OFS=, -v c="$column_size" 'NF=c' a.txt 
Line 1: Name:,XYz,,,,,
Line 2: Age:,15,,,,,
Line 3: Grade:,7,,,,,
Line 4: ,,,,,,
Line 5: English, Maths, Science,Spanish,,,
Line 6:10,11,13,14,,,
a,b,c,d,e,f,g

# 6  
Old 06-27-2012
Hi All,

I want the extra commas to be placed in a file and save it with the commas. The above help helped me to display the content with commas.

Please help me in adding the commas and saving the file. The number of commas is also not fixed ... the length of the max column has to be taken.

Thanks in advance.
# 7  
Old 06-27-2012
Code:
$ column_size=$(awk -F, 'a<NF{a=NF}END{print a}' a.txt)
$ awk -F, -v OFS=, -v c="$column_size" 'NF=c' a.txt > output.txt

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to remove unwanted commas from a .csv file?

how to remove unwanted commas from a .csv file Input file format "Server1","server-PRI-Windows","PRI-VC01","Microsoft Windows Server 2012, (64-bit)","Powered On","1,696.12","server-GEN-SFCHT2-VMS-R013,server-GEN-SFCHT2-VMS-R031,server-GEN-SFCHT2-VMS-R023"... (5 Replies)
Discussion started by: ranjancom2000
5 Replies

2. UNIX for Beginners Questions & Answers

Removing commas from CSV file

Hi I'm creating a sh script to generate a csv file. The CSV contains the values from a sql table. The content looks this: a,b,c,c2,c3,,,,,,,,,,,d,e I have some code that can separate the fields using the comma as delimiter, but some values actually contain commas, such as... (2 Replies)
Discussion started by: preema
2 Replies

3. Shell Programming and Scripting

How to delete the commas in a .CSV file that are enclosed in a string with double quotes?

Okay, I would like to delete all the commas in a .CSV file (TEST.CSV) or at least substitute them with empty space, that are enclosed in double quote. Please see the sample file as below: column 1,column 2,column 3,column 4,column 5,column 6,column 7,column 8,column 9,column 10... (8 Replies)
Discussion started by: dhruuv369
8 Replies

4. Shell Programming and Scripting

HELP with AWK or SED. Need to replace the commas between double quotes in CSV file

Hello experts, I need to validate a csv file which contains data like this: Sample.csv "ABCD","I",23,0,9,,"23/12/2012","OK","Street,State, 91135",0 "ABCD","I",23,0,9,,"23/12/2012","OK","Street,State, 91135",0 I just need to check if all the records contain exactly the number of... (5 Replies)
Discussion started by: shell_boy23
5 Replies

5. UNIX for Dummies Questions & Answers

To Add extra commas to a CSV file using 2 files...

Hi , Based on my previous requirement the code works fine for comma as delimiter. Now my Req is widened up a bit .. There will be two set of files .. one with comma as delimiter and other with semi-colon ; as delimiter. Second Sample file. With Double Quotes (Semi-Colon... (1 Reply)
Discussion started by: chillblue
1 Replies

6. Shell Programming and Scripting

Adding Extra Commas to a CSV file

Trying in this forum. Not sure if it is permitted.... but in need of help. Please find the requirements in the below link. https://www.unix.com/unix-dummies-questions-answers/191503-add-extra-commas-csv-file-2.html#post302665179 Thanks in Advance. (1 Reply)
Discussion started by: chillblue
1 Replies

7. Shell Programming and Scripting

shell script to remove extra commas from CSV outp file

Name,,,,,,,,,,,,,,,,,,,,Domain,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Contact,Phone,Email,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Location -----------------------,------------------------------------------------,-------,-----,---------------------------------,------------------------------------ ----... (1 Reply)
Discussion started by: sreenath1037
1 Replies

8. Shell Programming and Scripting

Remove duplicate commas after exporting excel file to csv

Hello everyone I'm new here and this is my first post so first of all I want to say that this is a great forum and I have managed to found most of my answers in these forums : ) So with that I ask you my first question: I have an excel file which I saved as a csv. However the excel file... (3 Replies)
Discussion started by: Spunkerspawn
3 Replies

9. Shell Programming and Scripting

manipulating csv to add extra row

hi how do i manipulate .csv file to add an extra row after each row using shell script? I need a blank line added for each 1000 records in my file? I will then need to copy and paste some data in the blank row created. thanks 4 ur support neil (3 Replies)
Discussion started by: neil546
3 Replies

10. Shell Programming and Scripting

replacing commas with tilde in csv file.

hello all, i have a comma delimited file. i want to replace the commas in the file with the tilde symbol using sed. how can i do this? thanks. (4 Replies)
Discussion started by: femig
4 Replies
Login or Register to Ask a Question