読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

CSVのあれやこれや

雑記

CSV仕様書(RFC4180)を読んだので、ずっと疑問だったことについて、ちょろっとまとめてみます。

ヘッダーの有無の判定

CSVにはヘッダーが付いている場合がある訳ですが、形式がデータ行と同じなので、文字列だけ見ても判断が付きません。これについて仕様書によると、MIME Typeのパラメータで判定しましょうとのこと。具体的には、以下のようになります

ヘッダーがある場合 text/csv; charset=utf-8; header=present
ヘッダーがない場合 text/csv; charset=utf-8; header=absent

ちなみに、文字コードMIME Typeパラメータで判定するという話になっています。

「"」のエスケープ

カラム内で「,」や改行を使用する場合、カラム全体を「"」で囲みます(エスケープ)。さらにエスケープされたカラム内で「"」を使いたい場合、「""」を使います。「"」で「"」をエスケープする感じですね。

コメント行

記載なし。使えないということですかね・・・。

行の最後のカンマ

付けてはダメとのこと。

ダメな行 aaa,bbb,ccc,
正しい行 aaa,bbb,ccc

行区切り

「CRLF」(%x0D%x0A)となっています。正式には「CR」や「LF」だけはダメみたいです。