RFC 4180は、2ページに次のように述べています。
ヘッダーと各レコード内には、コンマで区切られた1つ以上のフィールドが存在する場合があります。各行には、ファイル全体で同じ数のフィールドが含まれている必要があります。スペースはフィールドの一部と見なされるため、無視しないでください。レコードの最後のフィールドの後にコンマを続けることはできません。
したがって、この標準によれば、これは無効になります。
cat,dog,cow,
ただし、理論的には、「猫」、「犬」、「牛」、「」の行を表す必要があります。したがって、コンマを追加して新しい「最後の」要素を作成する場合、ルールが実際に間違っていることはありません。実際、「各行には、ファイル全体で同じ数のフィールドが含まれている必要があります」を尊重します。この場合、それが必要になります。
aaa,bbb,ccc,ddd
cat,dog,cow,
実際、CSVをエクスポートする一部のプログラムは、パディングのためにこれを実行します(例:Googleスプレッドシート)。
結論として、次は基準を尊重する唯一の正しい方法ですか?
aaa,bbb,ccc,ddd
cat,dog,cow,""
それとも、ルールが間違っているのか、冗長なのか。私はこれを間違った方法で理解していますか?
ルールはまったく間違っていませんが、非常に文字通りに読む必要があります。最後のフィールドの後にコンマを付けないでください。
最後の要素が空の場合、それは最後の1つの要素であり、その後にコンマが続きます。これはまったく問題ありません。
だからこれは大丈夫です
a,b,c,d
x,y,z,
u,v,,
w,,,
しかし、これは間違っています
a,b,c,d
x,y,z,
d,e,f,g,
ディスカッションから編集
a,b,c,d,
e,f,g,h,
i,j,k,l,
m,n,o,p,
問題のルールに従って、また禁止されています
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加