CSVの履歴
- 法則1. 改行とカンマで行とセルを区切っている。
- 法則2. セル内のデータが以下の3つのどれかを含んでいる場合、セル全体をダブルコーテーションで囲む。ダブルコーテーション( " )、カンマ( , )、改行( )
- 法則3. セル内のデータに含まれるダブルコーテーションは、それを二つのダブルコーテーションに置換する。
http://www.jias.jp/jias/language/csv_text.htm
だからだー!
法則2がめんどくさい。改行ありだから、一行ごとにパースというのができないし、""で囲まれたものだけ、というのも見ていかないといけないので、1文字ずつ地道にやっていくしかない。
PHPではfgetcsvという関数で読み込める。ファイル経由で、しかも文字コード設定が難しい使いにくい関数だけど、これしかないので仕方がない。