Excel 另存 CSV 后首列表头变成 Handle 怎么修
现象#
文件在 Excel 里看一切正常,上传后提示 Network error: Unexpected token < in JSON at position 0;用文本编辑器打开,第一行行首有个看不见的方块。
原因#
- Excel 的 CSV UTF-8 选项会写入 BOM,首列名实际变成带 \ufeff 前缀的 Handle
- 旧版 Mac Excel 用 CR 作行尾,解析器读不到换行,整张表被当成一行
- 扩展名改成 .csv 但内容仍是 Tab 分隔,列数校验在第一行就失败
- 单元格内换行没有加引号,一条记录被拆成两行,后面整体错位
处理步骤#
- 用 VS Code 打开后选
UTF-8另存,不要选UTF-8 with BOM - 核对首字节:
head -c 3 products.csv | xxd不应出现efbbbf - 行尾统一成 LF,CR 与 CRLF 用
dos2unix products.csv一次处理掉 - 用
python -c "import csv;print(len(next(csv.reader(open('p.csv',encoding='utf-8-sig')))))"看列数 - 重新上传,确认预览页商品数与本地去重 Handle 数一致再点导入
验收标准#
首列表头显示为干净的 Handle,预览商品数等于本地 Handle 去重数,导入不再报表头或 JSON 解析错误。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。