[pgsql-jp: 35167] Re: COPYコマンドによる CSV ファイル(ヘッダー行あり)のロードについて

Satoshi Kanai s_kanai @ wanbishi.co.jp
2005年 4月 4日 (月) 09:59:42 JST


金井です。

加藤様、ご回答ありがとうございます。

> => CREATE TABLE csvtbl (a INT,b TEXT);
> => CREATE TEMP TABLE tmptbl (hdr text,a INT,b TEXT); => COPY
> tmptbl FROM 'ファイル名とか';
> => INSERT INTO csvtbl (a,b) (SELECT a,b FROM tmptbl);

意図がうまく伝えられなかったようですが、CSVファイルから除外したいのは
ヘッダー「列」ではなく、ヘッダー「行」なのです。

とりあえず、現時点で思いつくのは

1.タイトル行の値(列名)を含めて格納できるような一時表を作成してロードし、
 そこから実テーブルにロード
2.入力ファイルからヘッダー行を削除してからロード

のような方法ですが、どちらもいまいちスマートでなく、悩んでいます。






pgsql-jp メーリングリストの案内