• ベストアンサー

CSVの仕様について

改行コードとカンマの取り扱い。 最近の一般的なWINDOWSアプリケーションでCSVの取り扱いは (1) 行区切りの改行コードはCRLFで行います。 データ内の改行コードは、LFで行う。 (2) カンマ付きのデータは『"』クォーテーションで囲む その際、元のデータ内の『"』は『""』でエスケープ。 (1)(2)の仕様でよいのでしょうか? 自身でCSV生成とパースを書きたいのですが、RFCは参考にしますが、 実際のポュラーな仕様に合わせたいので調べています。 ご意見でも構いません宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

(1)の「データ内の改行コードは、LFで行う。」はどちらかといえば (2)に属していて「カンマおよび改行コード(LF or CRLFは問わない)が含まれているデータは ダブルクォーテーションでくくる」ではないでしょうか。

akaginoyama
質問者

お礼

回答ありがとうございます。 LFのデータが存在する以上それに沿ってつくる方がよいですね。

その他の回答 (2)

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.3

一般に…というのであれば、 CSV ファイルはテキストエディタの仕様に合わせるべきで、 Windows 環境ならデータ内であっても CRLF という考え方 を支持します。 http://codezine.jp/article/detail/2364 (Excel の仕様はデフォルトで数値・日付の変換を 行なうので技術者には嫌う人も多いです。データ内に LF と CRLF が混在していた場合でも、正常に読める ようですが、セル入力での改行は LF しかないのでは? 編集まで視野に入れるなら Excel では CSV の仕様 に合っていない(力不足)です。)

akaginoyama
質問者

お礼

>EXEL~セル入力での改行は LF しかないのでは? そのように思えます。 これがネックになるので、LFコードはそのまま扱えるようにすることにします。 回答ありがとうございました。

  • aton
  • ベストアンサー率47% (160/334)
回答No.2

直接の回答ではありませんが…。 なんにせよExcelが基準になっていると思うので,気になる仕様についてはExcelに読み書きさせてみるといいのではないでしょうか?

参考URL:
http://ja.wikipedia.org/wiki/Comma-Separated_Values
akaginoyama
質問者

お礼

回答ありがとうございます。 やはり、エクセルは基準から外せませんね。

関連するQ&A