陷阱
| 问题 | 表现 | 处理 |
|---|---|---|
| 引号转义 | 字段内含逗号/引号被切错列 | 按 RFC 4180 规则处理,使用成熟库 |
| 编码 | 中文乱码或出现 BOM 前缀 | 统一 UTF-8,明确是否带 BOM |
| 空值语义 | 空字符串与 NULL 混淆 | 入库前定义缺失值表示法 |
| 大数字 | Excel 打开身份证/订单号变科学计数 | 以文本读取,不要用表格软件直开 |
Python 写出规范 CSV
Python 写出规范 CSV
import csv
with open('out.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f, quoting=csv.QUOTE_MINIMAL)
writer.writerow(['id', 'name', 'note'])
writer.writerow(['1001', '其其', '含,逗号 与 "引号"'])多个系统约定不同(有的 NULL 写空、有的写 \N),链路两端必须对齐缺失值表示。