CSVファイルの形式は、RFC4180を基に以下の仕様とします。
レコードについて
各レコードは改行「CRLF」で区切ります(「CR」、「LF」のみの改行は動作保証しません)
ファイル末尾には改行を指定してください
レコード内の各フィールドはカンマ「,」で区切ります(カンマはASCII(1byte文字))
形式 | レコード | ||
---|---|---|---|
aaa,bbb,ccc | aaa | bbb | ccc |
カンマが連続した場合、および、改行の前にカンマがある場合は、カンマの次に空データがあるものとします
形式 | レコード | ||
---|---|---|---|
aaa,,ccc | aaa | ccc | |
aaa,bbb, | aaa | bbb |
ヘッダーは指定できません
形式 | レコード | ||
---|---|---|---|
field1 | field2 | field 3 | |
aaa,bbb,ccc | aaa | bbb | ccc |
ダブルクォーテーションについて
改行、ダブルクォーテーション、カンマを含むフィールドは、ダブルクォーテーションで囲みます
形式 | レコード | ||
---|---|---|---|
“aaa”,”bb | aaa | bb | ccc |
“aaa”,”bb,b”,”ccc” | aaa | bb,b | ccc |
ダブルクォーテーションで囲まれているフィールドでダブルクォーテーションを使用する場合は、ダブルクォーテーションでエスケープします
形式 | レコード | ||
---|---|---|---|
“aaa”,”bb””b”,”ccc” | aaa | bb”b | ccc |
注意
以下の場合はエラーとなります。
区切り(カンマ)の前後に空白、タブなどがある
空白、タブなどを入れた場合、それらも1文字として認識するため、パラメータエラーの原因となります。
ダブルクォーテーションで囲まれているフィールドの前後に空白がある
“zzz “, “yyy “, “ xxx “ |
フィールド数が異なる
aaa,bbb |
ダブルクォーテーションで囲まれているフィールドと囲まれていないフィールドが混在する
aaa,”bbb”,ccc |
ダブルクォーテーションのエスケープが崩れている
“aaa”,”bb”””b”,”ccc” |
ダブルクォーテーションで全体を囲んでいる
“aaa,bbb,ccc” |