Tablora · 资料库
区分字段边界与小数标点
在Paper;1.234,50这样以分号分隔的表格中,逗号是小数符号。请先理清字段边界,再转换金额。
标点的两种职责
设置为德语、法语、西班牙语、土耳其语和许多其他语言的电子表格,保存CSV文件时用分号分隔字段,因为逗号已被用作小数符号。像Paper;1.234,50这样的一行有一个字段边界,即分号,金额里则有两个属于数字本身的字符。
这需要两个独立的判断:哪个字符分隔字段,以及金额列中的数字是怎么写的。把两者弄混,就会让一个金额被拆进两个单元格。
检查Paper;1.234,50
本页示例包括表头item;amount和记录Paper;1.234,50,“字段分隔符”为分号。结构检查工具报告2行2列,第2行第2列为1.234,50。此时金额仍是文本;结构检查工具不转换数字。
如果改选逗号作为“字段分隔符”,表头会变成一个单元格item;amount,记录则拆成Paper;1.234和50。这时“列数”显示2,“宽度不同的行”显示1,因为表头只有一个字段。对这个示例,“检测分隔符”会选择分号,因为分号能让每一行宽度相同。
从结构到数字
- 在结构检查工具中先确定“字段分隔符”,并确认“宽度不同的行”为0。
- 打开数值规范化工具,粘贴同样的文本,并把“字段分隔符”设为分号。
- 勾选“首行包含列名”,并在“数值列”中选择amount。
- 把“小数分隔符”设为 ,、“数位分组符”设为 .,然后点击“计算”。
- 金额1.234,50会变成1234.50;查看“待检查的值”,看看是否有设置未覆盖的内容。
- “待检查的值”数量很多,可能意味着有些金额用点作为小数符号;由两个来源拼成的文件可能混用两种写法。
容易混淆的地方
- 以分号分隔的文件在大多数软件里仍叫CSV。请看实际的字符,而不是文件扩展名。
- 自动检测只是起点。当两种分隔符给出同样一致的结果时,请明确选择。
- 不要为了让文件看起来像英文文件,就在整段文本中互换逗号和点;那样连说明和代码也会改变。
- 下载转换后的表格时,CSV在字段之间使用逗号,转换后的金额使用点,因此它与你最初的文件采用不同的写法。
- Tablora应用从PDF和照片而不是文本中读取表格,所以那里不会遇到这个选择;它的CSV导出在字段之间使用逗号。
输入值
- 表格文本
- item;amount Paper;1.234,50
- 字段分隔符
- ;
结果
- 行数
- 2
- 列数
- 2
| item | amount |
|---|---|
| Paper | 1.234,50 |
- 宽度不同的行
- 0