先頭レコードに項目名を記述し、2行目以降にデータが格納されたファイルを入力データファイルとして扱います。
項目名だけの行を、CSVヘッダレコードと呼びます。データの行をCSVデータレコードと呼びます。
1件のデータを1レコードと呼びます。図2.3に、CSV形式のレコードの例を示します。
CSV形式では、レコード内の各項目の間にはカンマ(,)を記述し、レコードの最後には改行を記述します。
各項目は項目全体を二重引用符(")で囲うことができます。
項目の内容としてカンマ(,)、改行を指定する場合は項目を囲う二重引用符(")を必ず記述します。
項目の内容として二重引用符(")を指定する場合は、項目全体を二重引用符(")で囲い、項目の内容の二重引用符(")は、二重引用符(")を2つ続けて表現します。
注意
二重引用符(")で囲われたCPMキー項目は、二重引用符(")を外した形で扱われます。二重引用符(")はCPMキー長に含まれません。
データ中の二重引用符(")
データ中の1つの二重引用符(")は、二重引用符(")を2つ続けて表現します。
これは"データ"です。 → "これは""データ""です。"
以下にCSV形式のファイルの例を示します。
"Kbn","Number","Code","Name","Value","Total","Biko" "01","1001","AAA","ブロックA","1,000","1,000","備考:稟議番号 第""4023""号" "02","1001","BBB","ブロックB","","1,200","備考:稟議番号 第""4023""号" "03","1002","CCC","ブロックC","800","800","備考:稟議番号 第""4023""号"
注意
入力データファイル中の連続する二重引用符("")は、1文字としてカウントされます。
データ中のカンマ(,)
データ中にカンマ(,)が含まれる場合は、必ずその項目を二重引用符(")で括ります。
1,234,567 → "1,234,567"
以下にCSV形式のファイルの例を示します。
Kbn,Number,Code,Name,Value,Total,Biko 01,1001,AAA,ブロックA,"1,000","1,000",備考:稟議番号 第4023号 02,1001,BBB,ブロックB,,"1,200",備考:稟議番号 第4023号 03,1002,CCC,ブロックC,800,800,備考:稟議番号 第4023号
注意
以下のような記述はエラーとなります。
"1,500 または 1","500
区切り文字前後の空白
二重引用符(")で囲んだデータの場合、項目間はカンマ(,)以外の文字があるとエラーになります。区切り文字のカンマ(,)の前後の余分な文字は、削除してください。
"AAA",▲"ブロックA" → "AAA","ブロックA"
「▲」は空白を示します。
項目数が少ない場合
CSVヘッダレコードの項目数よりデータ行の項目数が少ないCSV形式のファイルを使用できます。
この場合、不足している項目に空文字列が指定されていると見なして処理します。
項目数よりデータ行の項目数が多いファイルは使用できません。
"項目1","項目2","項目3" "A1","A2","A3" "B1","B2" "C1"
上記のデータレコード2行目の項目3、データレコード3行目の項目2、項目3は、空文字が指定されたと見なします。
注意
CSV形式の1レコードの最大サイズは32メガバイトです。
アンダーライン(_)だけの項目名が存在する入力データファイルは使用できません。
CSVヘッダレコードが異なっている入力データファイルを使用できます。CSVヘッダレコードが異なっている場合、以下の注意が必要です。
例 CSVヘッダレコードが異なっている(CPMキーを“id”とした場合)
ファイルAのCSVヘッダレコード
date,id,name,age,company
ファイルBのCSVヘッダレコード
id,name,age,skill
参考
項目に空文字列が指定されている場合の例
"項目1","項目2","項目3" "A1","B1","C1" "A2","","C2"
上記のデータレコード2行目の項目2に、空文字が指定されています。