CSV
Comma-Separated Values の略
CSV には元々明確な仕様が存在しない。
RFC は後付け
RFC4180 Common Format and MIME Type for Comma-Separated Values (CSV) Files https://tools.ietf.org/html/rfc4180
現実にはこの通りになっていない独自 CSV 形式が大量にある。
それでも独自のCSVを書くつもりですか? https://postd.cc/so-you-want-to-write-your-own-csv-code/
トラブルが多く、これから書くアプリケーションでは極力使うべきではない。
以下の条件では有効
使うアプリケーションが明確(他者と交換する必要がない)
使う文字コードが明確。
データに以下の物を含まない。
制御コード(特に改行)
コンマ
ダブルクォーテーション
列数が固定、もしくは行毎に列数が決まっている。
改行が固定的である。
コンマとダブルクォーテーションの問題を解決するだけであれば、TSV (タブ区切り)を使うのが望ましい。
データに制御コードが入る場合、エスケープ処理をするのが望ましい。エスケープ処理については規定がないため、全アプリケーションで合意を取る必要がある。
#情報交換フォーマット #標準