Convert txt to csv


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Convert txt to csv
# 1  
Old 03-16-2011
Convert txt to csv

Hi - I am looking to convert the following text to csv. The columns may not always have data in them and they may have varying spaces but I still need to have a comma there anyway:

Sample Data:
~~~~~~~
Code:
Name                  Email                                    Location         Phone
Tom Smith          toms@me.com                     home              +65 5555 5555
John,,,
Jerry T. Wright   jerry@me.com                      NY office       +1 212 555 5555
Phil Dell             phil@me.com                                              +1 212 555 1111

Need it to look like:
~~~~~~~
Code:
Name,Email,Location,Phone
Tom Smith,toms@me.com,home,+65 5555 5555
John,,,
Jerry T. Wright,jerry@me.com,NY office,+1 212 555 5555
Phil Dell,phil@me.com,,+1 212 555 1111

Appreciate any help!
JP

Last edited by Franklin52; 03-16-2011 at 06:23 AM.. Reason: Please use code tags
# 2  
Old 03-16-2011
Hi JPBovaird,

Not so elegant, but it seems to work:

Code:
sed -e 's/[ ]*\([a-z0-9_-.]*@[a-z0-9_-.]*\)[ ]*/,\1,/g;
s/[ ]*\([0-9 ]+\)/,\1/;
s/[ ]*Email[ ]*/,Email,/;
s/Location[ ]*Phone/Location,Phone/;s/[ ]*+/+/'  inputfile > outputfile

Hope it helps.

Regards
This User Gave Thanks to cgkmal For This Post:
# 3  
Old 03-16-2011
Code:
sed -e 's/[\+][0-9 ]*/,&,/' -e 's/[a-z0-9_-.]*@[a-z0-9_-.]*/,&,/' inputfile

This User Gave Thanks to tene For This Post:
# 4  
Old 03-16-2011
cgkmal - Thanks for your reply! It's not writing the additional commas where there is no data. Any idea?

Output is below:
Code:
Name,Email,Location,Phone
Tom Smith,toms@me.com,home,+65 5555 5555
John
Jerry T. Wright,jerry@me.com,NY office,+1 212 555 5555
Phil Dell,phil@me.com,+1 212 555 1111

For instance - after John, there should be 3 commas and for Phil's location there should be 2 commas between email and phone.

tene - also thanks for your help!

Last edited by Franklin52; 03-16-2011 at 06:23 AM.. Reason: Please use code tags
# 5  
Old 03-16-2011
You're welcome JPB,

Only that depending if the data vary, it will be necessary to modify the code, but based on your sample please try:

Code:
sed -e 's/[ ]*\([a-z0-9_-.]*@[a-z0-9_-.]*\)[ ]*/,\1,/g;
s/[ ]*\([0-9 ]+\)/,\1/;
s/[ ]*Email[ ]*/,Email,/;
s/Location[ ]*Phone/Location,Phone/;s/[ ]*+/+/;
s/\(@.*\.[a-z]\{3,4\},\)+/\1,+/;
s/\([a-zA-Z .]$\)/\1,,,/;s/,Phone,,,/,Phone/' inputfile

Best regards
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Convert a txt file to a CSV file

Hi , I have a Txt file which consist of 1000's of SOAP request and response and i want the file to be converted to a csv file like column a should have a soap request and column b should have the soap response . can someone assist me in achieving this please ? Thanks (2 Replies)
Discussion started by: kumarm8
2 Replies

2. Solaris

How to convert pdf file to txt?

Hello Unix gurus, I am learning unix. I have lots pdf data files. I need to convert them into txt files. Can you please guide me how to do that? Thanks in advance. Rao (1 Reply)
Discussion started by: raopatwari
1 Replies

3. Red Hat

How to convert TXT to PDF in RHEL 6?

Hello friends, I need to convert ASCII text to PDF on RHEL 6 so I did the below and could generate PDF but it has lot of junk/special characters. yum install enscript ghostscript enscript -p output.ps input.txt ps2pdf output.ps output.pdf So I download latest source of Ghostscript... (4 Replies)
Discussion started by: magnus29
4 Replies

4. Shell Programming and Scripting

Need script to convert TXT file into CSV

Hi Team, i have some script which give output in TXT format , need script to convert TXT file into CSV. Output.TXT 413. U-UU-LVDT-NOD-6002 macro_outcome_dist-8.0.0(v1_0_2) KK:1.2.494 (1234:333:aaa:2333:3:2:333:a) 414. U-UU-LVDT-NOD-6004 ... (10 Replies)
Discussion started by: Ganesh Mankar
10 Replies

5. UNIX for Dummies Questions & Answers

XML to TXT or CSV

Hi all, I am new to unix and even newer to XML :wall: I have a dataset which I need to work on and extract data from but I cant even see things. its a XML file which i need to analyse and return the results in xml as well but need to filter some of them like i would do with excel file so not... (7 Replies)
Discussion started by: A-V
7 Replies

6. UNIX for Dummies Questions & Answers

Help with a project. convert a txt to csv

Hi people. I've finally converted to linux, and I'm starting to explore the amazing capabilities of the terminal. At the moment in trying to learn how to extract text using the "grep" and "sed" command. I decided to learn by trying to figure out how to solve a practical problem. I have a schedule... (4 Replies)
Discussion started by: kugalskaper
4 Replies

7. Shell Programming and Scripting

Txt to csv convert

Hi, I was trying some split command to pull out values like "uid=abc,ou=INTERNAL,ou=PEOPLE" into a csv file. However because of erratic nature of occurrance of rows made me stopped. Could someone help me in this? and if someone has a one liner for this? The text file contain pattern like this... (14 Replies)
Discussion started by: john_prince
14 Replies

8. Shell Programming and Scripting

how to convert XLS to CSV and DOC/RTF to TXT

Hi, i don't know anything about PERL. Can anyone help me providing PERL scripts for 1. converting XLS to CSV (and vice-versa) 2. converting DOC/RTF to TXT Thanks much Prvn (1 Reply)
Discussion started by: prvnrk
1 Replies

9. Shell Programming and Scripting

AWK CSV to TXT format, TXT file not in a correct column format

HI guys, I have created a script to read 1 column in a csv file and then place it in text file. However, when i checked out the text file, it is not in a column format... Example: CSV file contains name,age aa,11 bb,22 cc,33 After using awk to get first column TXT file... (1 Reply)
Discussion started by: mdap
1 Replies

10. UNIX for Dummies Questions & Answers

How to convert PS files to txt file?

Hi, I need to convert PS files to txt file. I thought of using ps2ascii, but its not installed in my AIX box, any other option? (2 Replies)
Discussion started by: redlotus72
2 Replies
Login or Register to Ask a Question