Re: Converting comma-delimited data to tab-delimited

From: Randall Perry <rgp(at)systame(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Re: Converting comma-delimited data to tab-delimited
Date: 2002-03-31 19:01:06
Message-ID: B8CCC722.12426%rgp@systame.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I answered my question by writing the following perl script:

#!/usr/local/bin/perl
# comma_to_tab.pl
#
# usage: ./comma_to_tab.pl data.csv > data.tab
#
# Description:
# 1. finds any occurences of a comma between double quotes and replaces
it with low ASCII char x00
# 2. replaces all remaining commas with tabs
# 3. changes all x00 chars back to commas

while (<>) {
s/\"(.*)(,)(.*)\"/$1\x00$3/g;
s/,/\t/g;
s/\x00/,/g;
print $_;
}

> perl -ne 's/^ *"//; s/" *$//; print join("\t", split(/\" *, *\"/))'
> your-table.csv > your-table.tab

--
Randy Perry
sysTame
Mac Consulting/Sales

phn 561.589.6449
mobile email help(at)systame(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Frank Finner 2002-03-31 20:00:13 Re: Converting comma-delimited data to tab-delimited
Previous Message Randall Perry 2002-03-31 17:36:57 Converting comma-delimited data to tab-delimited