« なれる!SE14 世にも奇妙な?ビジネスアライアンス | トップページ | 特定の名称を含むカラム・テーブルを調べる »

2016.02.13

CSVの便利な取り扱い

PostgreSQLで出力したファイルをPHPに食わせるプログラムを作っているのだが、どうしてもファイルの行頭にヘッダ行をいれたかった。
ファイルの出力なのでCOPYコマンドを利用するのだが、その中で良いオプションを発見した。

COPY ([query]) TO 'xxxx.csv' WITH CSV HEADER;
"HEADER"オプションを使うと出力結果の1行目にselectの各カラムが出力されるのである。 ただし書式がCSVの時にしか利用できない。 「うーんCSVかあ」 と悩んだのだが試してみたらこれが大正解。 データ内にカンマを含む場合は自動的にダブルクォートをデータの前後にしてくれるのだった。 カンマを含まない場合は付与されない。
aaaaa, bbbbbbb , 0, cccc
aaaab, "bb, BBB", 0 , "dd, ee"
こういう出力イメージになる。

PHP側はfgetcsv関数が役に立つ。
CSVデータを読み込むと、カンマ毎に各要素を配列に格納してくれる。もちろんダブルクォートも対応している。

うーん、便利な処理系である。最初はJavaScript側でなんとかしようとしていたのだがその必要もなくなってハッピーであった。

|

« なれる!SE14 世にも奇妙な?ビジネスアライアンス | トップページ | 特定の名称を含むカラム・テーブルを調べる »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2022/63207284

この記事へのトラックバック一覧です: CSVの便利な取り扱い:

« なれる!SE14 世にも奇妙な?ビジネスアライアンス | トップページ | 特定の名称を含むカラム・テーブルを調べる »