Tablora

Tablora · 资料库

读取CSV字段内部的引号

在CSV中,带引号字段里的两个双引号代表一个引号。了解结构检查工具如何读取She said "hello",以及反斜杠为何行不通。

CSV如何在值中写引号

含有引号的CSV字段本身必须用引号括起来,其中的每个引号都要写两遍。所以单元格文本She said "hello"在文件中存为"She said ""hello"""。外层引号是语法,里面每对重复的引号代表一个字面意义上的引号。

有些程序改为在引号前加反斜杠,这是借自编程语言的约定。结构检查工具遵循的是CSV规则而不是这种约定,所以用反斜杠转义的引号不被视为转义。

检查Poster这一行

本页示例包括表头item,note和一条note为"She said ""hello"""的记录,“字段分隔符”为逗号。结构检查工具报告2行2列。第2行第2列为She said "hello",hello前后各恰好一个引号。

如果在预览中看到hello两边各有两个引号,说明该字段在原始资料中没有加引号,这段文本很可能根本不是有效的CSV。

无法解析的输入

修复并导出带引号的文本

应用导出中的引号

当单元格含有引号、逗号或换行时,Tablora应用的CSV导出遵循同样的规则:用引号括起单元格,并把内部引号写两遍。在XLSX导出中,引号只是单元格文本的一部分,你看不到任何转义。

输入值

表格文本
item,note Poster,"She said ""hello"""
字段分隔符
,

结果

行数
2
列数
2
itemnote
PosterShe said "hello"
宽度不同的行
0