mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-04-26 15:13:56 +00:00
3.0 KiB
3.0 KiB
language | contributors | translators | ||||||
---|---|---|---|---|---|---|---|---|
CSV |
|
|
CSV(逗号分隔值)是一种轻量级纯文本表格数据格式,其结构简单、可读性高,常用于程序间数据交换。
CSV 格式十分适合表格与数据库传输,能有效解决格式不兼容问题,使其成为跨平台数据互操作的“一等公民”。
虽然 RFC 4180 提供了 CSV 格式的标准,但在实际应用中,"CSV" 这一术语通常被广义地用于指代任何符合以下条件的文本文件:
- 可被解析为表格数据
- 使用分隔符分隔字段(列)
- 使用换行符分隔记录(行)
- 可选地在第一行包含表头
Name, Age, DateOfBirth
Alice, 30, 1993-05-14
Bob, 25, 1998-11-02
Charlie, 35, 1988-03-21
行与列的分隔符
行:每行数据用换行符(\n
或\r\n
)分隔。
列:各字段常用特定分隔符(常用逗号)隔开,只在某些地区(如德国用逗号表示小数)改用分号(;
)。制表符(\t
)分隔的称为TSV(制表符分隔值)。
示例:使用分号作为分隔符,并使用逗号表示小数点:
Name; Age; Grade
Alice; 30; 50,50
Bob; 25; 45,75
Charlie; 35; 60,00
数据类型
CSV 文件本身不定义数据类型。数字和日期均以纯文本存储。
具体的解析方式取决于导入该文件的软件。通常情况下,数据的解析方式如下:
数据, 解析方式
1.100, 解析为整数 (integer)
2.100.00, 解析为浮点数 (floating-point)
3.2024-12-03, 解析为日期或字符串(取决于解析器)
4.Hello World, 解析为文本字符串 (string)
5."1234", 解析为文本(string),而非数字
字符串引用与特殊字符
当字符串包含分隔符、特殊字符,或可能被误认为数字时,必须使用引号。通常建议始终加上引号,以提高文档可读性和健壮性。
示例:
1.未加引号的字符串,
2."建议加引号的字符串(良好实践)",
3."如果包含分隔符,则必须加引号",
4."如果包含特殊字符(如换行符 \n 或制表符 \t),也必须加引号",
5."引号字符本身通常通过双写引号("")来转义",
6."某些系统则使用反斜杠来转义引号(例如:\")",
强烈建议同一份文档内的引用方式保持一致,例如,上方示例5、6分别用 ""
和 \"
转义引号,而混用将导致解析错误。
编码格式
CSV 文件可能使用不同的字符编码。现代大多使用 UTF-8 ,但旧系统可能仍然采用 ASCII 或 ISO-8859 等。
如果 CSV 文件需要在不同系统之间传输或共享,建议明确指定编码格式,以避免解析错误。
最后,如果你接触过爬虫或数据库,一定熟悉CSV文件,我建议你通过学习python等语言的csv文件操作来熟悉csv格式特性!