読者です 読者をやめる 読者になる 読者になる

PostgreSQL のCSV 機能は使える!

ソフト

PostgreSQLは独自仕様の COPY 文を持っています。この COPY文を使うとテーブルに簡単にCSVファイルが読み込めます。

"名前","会社","email"
"吉田裕美","有限会社 EY-Office","yy@ey-office.com"
.....
.....

上のようなCSVデータを、

                                     Table "public.customers"
   Column   |            Type             |                       Modifiers                        
------------+-----------------------------+--------------------------------------------------------
 id         | integer                     | not null default nextval('customers_id_seq'::regclass)
 name       | character varying(255)      | 
 company    | character varying(255)      | 
 email      | character varying(255)      | 
 created_at | timestamp without time zone | 
 updated_at | timestamp without time zone | 

このようなテーブルに読み込むには

copy customers(name,company,email) from 'CSVファイルの絶対パス' with csv header;

を実行すればOKです。 Execlローカルルール(らしい) "" も正しく処理されますし、header指定で最初の行を飛ばしてくれます。
また、文字コードCSVRDBで異なる場合は、\encoding でCSV文字コードを指定すればOKです :-)


CSV出力の方もかなり使えます。
詳しくは http://www.postgresql.jp/document/pg833doc/html/sql-copy.html