CSV字符集问题:字符集与跨系统一致性

48 0

CSV(逗号分隔值)是用纯文本保存表格数据的格式:每行一条记录,字段之间用逗号分隔。下面重点说明字符集与跨系统一致性。

CSV字符集问题

CSV 文件本身不记录编码,读写双方必须约定。程序导出给 Excel 用 utf-8-sig,给其他程序用 UTF-8 无 BOM。

示例

输入:key;value | 前后空格 ;x

写成 CSV结果:

key,value
 前后空格 ,x

说明:按 RFC 4180:含逗号、引号、换行的字段用双引号包裹,内部引号写成两个。

Python 示例

下面是 Python 中处理CSV的常用写法:

import csv
with open("data.csv", newline="", encoding="utf-8-sig") as f:
    for row in csv.DictReader(f):
        print(row["姓名"])
with open("out.csv", "w", newline="", encoding="utf-8-sig") as f:
    csv.writer(f).writerows([["名称", "备注"], ["A", '他说"好"']])

运行前确认输入的字符集(推荐 UTF-8),并用几组已知样例核对结果。

怎样核对结果

检查 CSV:每行字段数是否一致、引号是否配对、编码是否正确。可以用 csvkit 的 csvclean 或 pandas 读取一次检查报错。

常见问题

【CSV 能保存多个工作表吗?】不能,一个 CSV 文件只对应一张表。

【Excel 打开 CSV 中文乱码怎么办?】把文件另存为“UTF-8 带 BOM”,或用“数据 → 从文本/CSV”导入并选 UTF-8。

【字段里有逗号怎么办?】用双引号把整个字段包起来。

处理含个人信息的数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: 编码 文本处理

抱歉,评论功能暂时关闭!