Re: "Copy from" omit source columns?

From: "Aaron Bono" <postgresql(at)aranya(dot)com>
To: "Steve Midgley" <public(at)misuse(dot)org>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: "Copy from" omit source columns?
Date: 2006-11-21 23:42:15
Message-ID: bf05e51c0611211542i22c80681n4513ff2fd6fd5412@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On 11/21/06, Steve Midgley <public(at)misuse(dot)org> wrote:
>
> Hello,
>
> (I already fear the answer to my question is "no..") :)
>
> I am using the 'COPY FROM' SQL command (not psql \copy) to move data
> into a table from a CSV file. The source data are suitable for import
> EXCEPT there are extraneous columns of data in the source file. In
> essence, my table schema is:
>
> id, col1, col2, col4
>
> My source file schema is:
>
> col1,col2,col3,col4
>
> I'm curious if there is any way to tell "COPY" to ignore the third
> column of data? Basically I'd like to write something along the lines
> of:
>
> copy import (col1,col2,\n,col4)
> from 'c:/dev/import/source/test.csv'
> with CSV HEADER
>
> Note "\n" would indicate there there is a column in the source that
> should simply be ignored during the import. Of course, I tried this
> syntax and it didn't work. Perhaps there is another way of indicating
> that there is a "null column" in the source file that should be skipped
> during import?
>
> Any assistance in solving this problem (without having to change the
> source file) would be greatly appreciated. If I have to change the
> source file, I will, but it would greatly simplify things if I didn't
> have to..
>
> Best regards and thanks for any ideas,
>

If you are using Linux/Unix or a Mac, you could run the file through sed
first and remove the unwanted column:

cat original.csv | sed 's/^\(.*\),\(.*\),\(.*\),\(.*\)$/\1,\2,\4/' > new.csv

Of course if you have commas in the data you will have to play with the sed
command a little but this will get you started.

--
==================================================================
Aaron Bono
Aranya Software Technologies, Inc.
http://www.aranya.com
http://codeelixir.com
==================================================================

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Mulham freshcode 2006-11-22 08:28:15 select into
Previous Message Richard Broersma Jr 2006-11-21 22:38:43 Re: "Copy from" omit source columns?