Tablora

Tablora · ライブラリ

CSVフィールド内の引用符を読み取る

CSVでは、引用符で囲んだ項目の中の二重引用符2つが引用符1つを表します。She said "hello"の読まれ方と、バックスラッシュが通らない理由を説明します。

CSVで値の中に引用符を書く方法

引用符を含むCSVの項目は、全体を引用符で囲み、中の引用符はそれぞれ2つ重ねて書く必要があります。そのため、セルの文字She said "hello"は、ファイルには"She said ""hello"""として保存されます。外側の引用符は構文で、中で2つ重なった組はそれぞれ文字としての引用符1つを表します。

プログラミング言語から借りた約束事で、引用符の前にバックスラッシュを書くソフトもあります。検査ツールが従うのはそちらではなくCSVの規則なので、バックスラッシュによるエスケープは受け付けません。

Posterの行を確かめる

このページの例は、見出しitem,noteと、noteが"She said ""hello"""であるレコード1件で、「区切り文字」はカンマです。検査ツールは2行・2列と報告します。2行目2列目はShe said "hello"となり、helloの前後に引用符がちょうど1つずつ付きます。

プレビューでhelloの両側に引用符が2つずつ見える場合、元データでその項目が引用符で囲まれておらず、そもそも正しいCSVではない可能性が高いでしょう。

解析できない入力

引用符を含むテキストを直して書き出す

アプリの書き出しでの引用符

TabloraアプリのCSV書き出しも、セルに引用符、カンマ、改行が含まれる場合は同じ規則に従います。セルを引用符で囲み、中の引用符を2つ重ねます。XLSX書き出しでは引用符は単にセルの文字の一部なので、エスケープが目に見えることはありません。

入力値

表のテキスト
item,note Poster,"She said ""hello"""
区切り文字
,

結果

行数
2
列数
2
itemnote
PosterShe said "hello"
幅の異なる行
0