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。
【字段里有逗号怎么办?】用双引号把整个字段包起来。
处理含个人信息的数据时,请注意保护隐私。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。