CSV技能使用说明
2026-03-29
新闻来源:网淘吧
围观:15
电脑广告
手机广告
引用规则
- 包含逗号、引号或换行符的字段必须用双引号包裹
- 被引号包裹的字段内部的双引号需转义为
""(两个引号),而非反斜杠 - 未加引号且含首尾空格的字段——部分解析器会修剪空格,部分不会;建议使用引号以确保保留
- 空字段
,,与空字符串,"",在语义上不同;应明确区分
分隔符
- CSV并非总使用逗号——需检测实际分隔符
;(欧洲版Excel)、\t(TSV制表符分隔)、|(遗留系统中常见) - Excel导出使用系统区域设置的分隔符;非美国地区常用分号
- 可从首行推测分隔符但需验证——表头可能不包含特殊字符
编码
- UTF-8 BOM (
0xEF 0xBB 0xBF) 会破坏简单的解析器,但Excel需要它来检测UTF-8编码 - 为Windows上的Excel生成文件时:添加BOM;用于程序化使用时:省略BOM
- Latin-1与UTF-8的歧义——在解析前明确声明或检测编码
常见的解析失败
- 引号字段内的换行符是有效的——不要在解析前基于
\n进行分割 - 字段中间未转义的引号会破坏文件的其余部分——尽早验证
- 文件末尾的尾随换行符——某些解析器会创建空最后一行;去除或处理
- 每行列数不一致——验证所有行与标题行数量匹配
数字与日期
1,234.56对比1.234,56——依赖于区域设置;标准化或记录格式- 日期:ISO 8601 (
2024-01-15) 是唯一无歧义的格式;2024年2月1日即混乱 - 数字字段中的前导零(
007)——加引号以作为字符串保留或记录
Excel怪癖
- 公式注入:以
=、+、-、@开头的字段会作为公式执行——在前面加上'或制表符 - 长数字(大于15位)会丢失精度——加引号并格式化为文本
- 由数字中的
E触发的科学计数法——如需作为字面文本则加引号
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Web Deploy技能使用说明
下一篇:Tts技能使用说明


微信扫一扫,打赏作者吧~