Tablora · ライブラリ
フィールド境界と小数の記号を区別する
Paper;1.234,50のようなセミコロン区切りの表では、カンマは小数点です。先に項目の境目を確定し、それから金額を変換します。
句読点の2つの役割
ドイツ語、フランス語、スペイン語、トルコ語など多くの言語に設定された表計算ソフトは、カンマがすでに小数点として使われているため、項目の間をセミコロンで区切ってCSVファイルを保存します。Paper;1.234,50のような行には、項目の境目であるセミコロンが1つあり、金額の中には数値に属する文字が2つあります。
必要な判断は2つです。どの文字が項目を区切っているか、そして金額の列の数字がどう書かれているかです。この2つを取り違えると、1つの金額が2つのセルに分かれてしまいます。
Paper;1.234,50を確認する
このページの例は、見出しitem;amountとレコードPaper;1.234,50で、「区切り文字」はセミコロンです。検査ツールは2行・2列と報告し、2行目2列目は1.234,50になります。この段階では金額はまだ文字列で、検査ツールは数値を変換しません。
代わりに「区切り文字」をカンマにすると、見出しはitem;amountという1つのセルになり、レコードはPaper;1.234と50に分かれます。このとき「列数」は2、見出しの項目が1つしかないため「幅の異なる行」は1になります。この例で「区切り文字を検出」がセミコロンを選ぶのは、すべての行が同じ幅になるからです。
構造から数値へ
- 検査ツールで先に「区切り文字」を確定し、「幅の異なる行」が0であることを確かめます。
- 数値列の統一ツールを開いて同じテキストを貼り付け、「区切り文字」をセミコロンにします。
- 「先頭行を列名として扱う」にチェックを入れ、「数値列」でamountを選びます。
- 「小数点の記号」を , に、「桁区切り文字」を . にして「計算」を押します。
- 金額1.234,50は1234.50になります。設定で対応できなかったものがないか、「確認が必要な値」を確認します。
- 「確認が必要な値」が多い場合は、小数点にピリオドを使っている金額があるのかもしれません。2つの元データから組み立てたファイルでは、書き方が混在することがあります。
混乱しやすい点
- セミコロン区切りのファイルも、ほとんどのソフトではCSVと呼ばれます。拡張子ではなく、実際の文字を見てください。
- 検出は出発点にすぎません。2つの区切り文字で同じくらい一貫した結果になるときは、明示的に選んでください。
- 英語のファイルのように見せるために、テキスト全体でカンマとピリオドを入れ替えないでください。説明文やコードまで変わってしまいます。
- 変換した表をダウンロードすると、CSVは項目の間にカンマを、変換した金額にはピリオドを使うので、最初のファイルとは書き方が異なります。
- TabloraアプリはテキストではなくPDFや写真から表を読み取るので、この選択はアプリでは出てきません。アプリのCSV書き出しは、項目の間にカンマを使います。
入力値
- 表のテキスト
- item;amount Paper;1.234,50
- 区切り文字
- ;
結果
- 行数
- 2
- 列数
- 2
| item | amount |
|---|---|
| Paper | 1.234,50 |
- 幅の異なる行
- 0