CSV 是什么
CSV(Comma-Separated Values)是逗号分隔值文件。最简单的表格数据格式,每行一条记录,字段间用逗号分隔。
姓名,年龄,城市
张三,25,北京
李四,30,上海
CSV 是数据交换的通用格式。Excel、数据库、编程语言都能读写 CSV。
CSV 解析规则
基本结构
- 每行一条记录
- 字段间用分隔符(通常是逗号)
- 第一行通常是表头
- 换行符分隔记录
字段含逗号
字段里有逗号,用双引号包裹:
姓名,描述
张三,"你好,世界"
不包裹会被当成两个字段。
字段含双引号
字段里有双引号,用两个双引号转义:
姓名,描述
张三,"他说""你好"""
字段含换行
字段里有换行,用双引号包裹:
姓名,描述
张三,"第一行
第二行"
分隔符变体
- 逗号:标准 CSV
- 分号:欧洲常用(Excel 欧洲版默认)
- Tab:TSV(Tab-Separated Values)
- 竖线:部分系统用 |
转换前确认分隔符。
数据清洗
去除空白
- 字段前后空格:trim 处理
- 空行:删除
- BOM 头:去除
统一格式
- 日期:统一成 YYYY-MM-DD
- 数字:统一小数点(不用千分位)
- 布尔:统一 true/false 或 0/1
- 编码:统一 UTF-8
处理缺失值
- 空字段:填默认值或标记 null
- 整行缺失:删除或补全
- 关键字段缺失:标记错误
去重
- 完全重复行:删除
- 主键重复:保留最新或合并
常见问题
中文乱码
CSV 编码问题最常见。Excel 默认用 GBK(中文版),其他工具用 UTF-8。
解决:
- Excel 导出时选"CSV UTF-8"
- 用文本编辑器另存为 UTF-8
- 转换工具支持自动检测编码
分隔符识别错误
CSV 用逗号,但 Excel 欧版默认分号。打开 CSV 全挤一列。
解决:
- 用文本编辑器打开确认分隔符
- Excel 导入时指定分隔符(数据 → 分列)
BOM 头
Excel 导出的 UTF-8 CSV 可能带 BOM(\uFEFF)。第一个字段名前有不可见字符。
解决:文本编辑器去掉 BOM,或转换工具自动处理。
数字变科学计数法
长数字(身份证号、订单号)在 Excel 里变科学计数法(1.23E+18)。
解决:
- Excel 里把该列设为"文本"格式再粘贴
- CSV 里数字前加单引号('123456)
- 导入时指定该列为文本
日期格式混乱
不同地区日期格式不同:
- 中国:2024/1/1
- 美国:1/1/2024
- 欧洲:1.1.2024
解决:统一成 ISO 8601(2024-01-01)。
换行符不一致
Windows 用 \r\n,Mac/Linux 用 \n。混用导致解析错误。
解决:统一换行符。
CSV 转换
CSV 转 JSON
程序处理 JSON 比 CSV 方便。用 CSV 转 JSON 工具 一键转换。
CSV 转 Excel
CSV 用 Excel 打开就是表格。但要注意编码和分隔符。
Excel 转 CSV
Excel 另存为 CSV。注意:
- 只保存当前工作表
- 公式变成值
- 格式丢失
- 多工作表要分别保存
批量处理
合并多个 CSV
多个 CSV 文件合并成一个:
- 确认表头一致
- 第一个文件保留表头
- 后续文件去掉表头
- 拼接内容
拆分大 CSV
大 CSV 按行数拆分:
- 保留表头到每个文件
- 按指定行数分割
- 生成多个小文件
筛选数据
按条件筛选 CSV 数据:
- 某字段等于特定值
- 数值范围筛选
- 日期范围筛选
用 DocsAll 处理 CSV
- 上传 CSV 或粘贴内容
- 自动解析
- 转 JSON 输出
- 复制或下载
浏览器端处理,数据不上传。
处理技巧
先看数据
处理前先看 CSV 内容:
- 用文本编辑器打开(不用 Excel)
- 确认分隔符
- 确认编码
- 确认表头
- 检查数据完整性
备份原文件
处理前备份原始 CSV。清洗出错能回退。
小批量测试
先处理几行测试,确认逻辑对再批量处理。
校验结果
处理后校验:
- 行数是否对(清洗后应该少不该少)
- 字段数是否一致
- 关键数据抽查
小结
CSV 处理核心:搞清解析规则(逗号、引号、换行)、解决编码问题(UTF-8、BOM)、清洗数据(空白、格式、缺失)、转换格式(JSON、Excel)。处理前看数据,处理后校验结果。DocsAll CSV 转 JSON 工具 浏览器端运行,数据不外传。