RFC 4180に従ってCSVファイルを検証するには、「レコードの最後のフィールドの後にコンマを続けてはならない」というルールがあります。違う?

オオカミ犬

RFC 4180は、2ページに次のように述べています。

ヘッダーと各レコード内には、コンマで区切られた1つ以上のフィールドが存在する場合があります。各行には、ファイル全体で同じ数のフィールドが含まれている必要があります。スペースはフィールドの一部と見なされるため、無視しないでください。レコードの最後のフィールドの後にコンマを続けることはできません。

したがって、この標準によれば、これは無効になります。

cat,dog,cow,

ただし、理論的には、「猫」、「犬」、「牛」、「」の行を表す必要があります。したがって、コンマを追加して新しい「最後の」要素を作成する場合、ルールが実際に間違っていることはありません。実際、「各行には、ファイル全体で同じ数のフィールドが含まれている必要があります」を尊重します。この場合、それが必要になります。

aaa,bbb,ccc,ddd
cat,dog,cow,

実際、CSVをエクスポートする一部のプログラムは、パディングのためにこれを実行します(例:Googleスプレッドシート)。

結論として、次は基準を尊重する唯一の正しい方法ですか?

aaa,bbb,ccc,ddd
cat,dog,cow,""

それとも、ルールが間違っているのか、冗長なのか。私はこれを間違った方法で理解していますか?

Eugen Rieck

ルールはまったく間違っていませんが、非常に文字通りに読む必要があります。最後のフィールドの後にコンマを付けないでください。

最後の要素が空の場合、それは最後の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]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ