CSV(Comma-Separated Values,逗号分隔值) 是一种简单的文件格式,用于存储和交换表格数据(如电子表格或数据库中的记录)。其核心特点是用逗号分隔字段,以换行符分隔记录。
CSV 的定义与结构
-
基本格式:
-
每行表示一条记录(行)。
-
字段(列)之间用逗号(
,
)分隔。 -
文本字段可以用双引号(
"
)包裹,以处理字段内包含逗号、换行符或引号的情况。
-
Name,Age,Email
"Alice, Smith",30,alice@example.com
Bob,25,bob@test.com
-
优点:
-
纯文本格式,通用性强,几乎支持所有工具(Excel、数据库、编程语言等)。
-
轻量级,适合快速导入/导出数据。
-
人类可读,易于手动编辑。
-
-
缺点:
-
无数据类型定义(所有数据均为字符串)。
-
无标准化规范,不同工具的分隔符或转义规则可能不同。
-
不适合复杂数据(如嵌套结构)。
-
CSV 的常见函数与操作
在不同的编程语言或工具中,处理 CSV 的常用函数如下:
1. Python
-
标准库
csv
:
import csv
# 读取 CSV
with open('data.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print(row)
# 写入 CSV
with open('output.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow(["Name", "Age"])
writer.writerow(["Alice", 30])
- Pandas 库:
import pandas as pd
# 读取 CSV 到 DataFrame
df = pd.read_csv('data.csv')
# 写入 CSV
df.to_csv('output.csv', index=False)
2. JavaScript
-
库
PapaParse
:
// 解析 CSV 字符串
Papa.parse(csvText, {
complete: (result) => console.log(result.data)
});
3. Excel / 电子表格
-
直接打开 CSV 文件(自动解析为表格)。
-
导出为 CSV 时选择“另存为 CSV 格式”。
4. SQL 数据库
-
导入:使用
LOAD DATA INFILE
(MySQL)或COPY
(PostgreSQL)。 -
导出:通过命令行工具(如
mysqldump
)或导出功能。
注意事项
-
编码问题:确保文件编码一致(如 UTF-8),避免乱码。
-
分隔符冲突:若数据含逗号,需用引号包裹字段(如
"San Francisco, USA"
)。 -
转义字符:引号内的引号需转义(如
"He said, ""Hello"""
)。 -
空值处理:通常用空字段表示(如
John,,30
表示第二列无值)。