From 5e368846b6efba357291ef18076d18e6a1153b10 Mon Sep 17 00:00:00 2001 From: AlightSoulmate <2314297572@qq.com> Date: Tue, 1 Apr 2025 20:23:53 +0800 Subject: [PATCH] [csv/zh-cn] Add translation for csv tutorials --- zh-cn/csv.md | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 zh-cn/csv.md diff --git a/zh-cn/csv.md b/zh-cn/csv.md new file mode 100644 index 00000000..24970a96 --- /dev/null +++ b/zh-cn/csv.md @@ -0,0 +1,78 @@ +--- +language: CSV +contributors: +- [Timon Erhart, 'https://github.com/turbotimon/'] +translators: +- [Luca Yu, 'https://github.com/AlightSoulmate/'] +--- + +CSV(Comma-Separated Values,逗号分隔值)是一种轻量级纯文本表格数据格式,常用于程序间数据交换,特别适合电子表格与数据库传输。其简单结构和易读性使其成为跨平台数据互操作的“一等公民”,能有效解决格式不兼容问题。 + +虽然 RFC 4180 提供了 CSV 格式的标准,但在实际应用中,"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(制表符分隔值)。 + +示例:使用分号作为分隔符,并使用逗号表示小数点: + +```csv +Name; Age; Grade +Alice; 30; 50,50 +Bob; 25; 45,75 +Charlie; 35; 60,00 +``` + +## 数据类型 + +CSV 文件本身不定义数据类型。数字和日期均以纯文本存储,并且具体的解析方式取决于导入该文件的软件。通常情况下,数据的解析方式如下: + +```csv +数据, 解析方式 +1.100, 解析为整数 (integer) +2.100.00, 解析为浮点数 (floating-point) +3.2024-12-03, 解析为日期或字符串(取决于解析器) +4.Hello World, 解析为文本字符串 (string) +5."1234", 解析为文本(string),而非数字 +``` + +## 字符串引用与特殊字符 + +只有当字符串包含分隔符、特殊字符,或可能被误认为数字时,才必须使用引号。但通常建议始终加上引号,以提高文档可读性和健壮性。 + +```csv +示例: +1.未加引号的字符串, +2."建议加引号的字符串(良好实践)", +3."如果包含分隔符,则必须加引号", +4."如果包含特殊字符(如换行符 \n 或制表符 \t),也必须加引号", +5."引号字符本身通常通过双写引号("")来转义", +6."某些系统则使用反斜杠来转义引号(例如:\")", +``` + +强烈建议同一份文档内的引用方式保持一致,例如,上方示例的5、6分别使用 `""` 和 `\"` 转义引号,混用它们将导致解析错误。 + +## 编码格式 + +CSV 文件可能使用不同的字符编码。大多数现代 CSV 文件使用 UTF-8 编码,但旧系统可能仍然采用 ASCII 或 ISO-8859 等其他编码格式。 + +如果 CSV 文件需要在不同系统之间传输或共享,建议**明确指定编码格式**,以避免字符解析错误。 + +如果你接触过爬虫或数据库,一定熟悉CSV文件,我建议你通过学习python等语言的csv文件操作来熟悉csv格式特性! + +## 更多资源 + ++ [维基百科](https://en.wikipedia.org/wiki/Comma-separated_values) ++ [RFC 4180](https://datatracker.ietf.org/doc/html/rfc4180) \ No newline at end of file