CSV 字段里有逗号和引号导致整行错位怎么修
现象#
商品描述里写了“买二送一, 限时”,导入后这个商品的价格跑到标题里,紧随其后的 12 行整体右移一列,后台报 Illegal quoting。
原因#
- 字段内的半角逗号没有用双引号包裹,解析时被当成列分隔符
- 字段里的双引号必须写成两个连续引号,单个引号会让解析器提前结束字段
- 从网页复制的弯引号与全角逗号不是合法 CSV 字符,触发 illegal quoting
- 字段内换行没有引号包裹,一条记录被拆成两行,后续行跟着错位
处理步骤#
- 用
csv.writer重新写一遍文件,它会自动为特殊字符加引号 - 手工修时把整段描述包进引号,内部引号改成
"" - 查找替换把
“ ” ,统一换成半角" , - 校验字段数:
python -c "import csv;[print(i,len(r)) for i,r in enumerate(csv.reader(open('p.csv',encoding='utf-8')))]" - 把字段数不等于表头数的行号挑出来单独修,修完重新上传
验收标准#
每行字段数与表头列数完全相同,标题、价格、描述各自归位,导入不再出现 Illegal quoting。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。