CSV(逗号分隔值)是用纯文本保存表格数据的格式:每行一条记录,字段之间用逗号分隔。下面重点说明核心要点一览。
CSV是什么意思
- 每行一条记录,第一行通常是表头
- 字段分隔符是逗号,也有用分号、制表符(TSV)的变体
- 含逗号、引号、换行的字段用双引号包裹
- 字段内的 " 写成 ""
- CSV 没有数据类型,所有值都是文本
示例
输入:名称;备注 | A;他说"好"
写成 CSV结果:
名称,备注
A,"他说""好"""
说明:按 RFC 4180:含逗号、引号、换行的字段用双引号包裹,内部引号写成两个。
规则说明
- RFC 4180 规定行尾用 CRLF,但大多数程序也接受 LF
- 每行字段数应相同
- 字段前后的空格属于内容的一部分
- 是否有表头需要双方约定
Java 示例
下面是 Java 中处理CSV的常用写法:
// Apache Commons CSV
CSVParser p = CSVFormat.DEFAULT.builder().setHeader().build()
.parse(new FileReader("data.csv", StandardCharsets.UTF_8));
for (CSVRecord r : p) System.out.println(r.get("姓名"));运行前确认输入的字符集(推荐 UTF-8),并用几组已知样例核对结果。
常见问题
【字段里有逗号怎么办?】用双引号把整个字段包起来。
【为什么 000123 变成了 123?】Excel 自动当作数字处理,导入时把该列设为“文本”。
【CSV 和 TSV 有什么区别?】TSV 用制表符分隔,字段里很少出现制表符,解析更简单。
处理含个人信息的数据时,请注意保护隐私。
标签: 文本处理
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。