Shopify CSV 导入报错 “Validation failed: price can't be blank” 的解决方法

某个变体的 Price 单元格为空,Shopify 无法导入它。为这个变体填写价格(免费商品填 0.00),以 CSV UTF-8 格式保存后重新导入。

Shopify 显示的报错

Validation failed: price can't be blank

这个报错是什么意思

Shopify 中的每个变体都有价格。在商品 CSV 里,商品的第一行,以及每一行新增选项值的行,都会创建一个变体;只添加图片的行不会。Shopify 的列说明称,Price 留空时通常会按 0.00 处理,但在无法套用默认值时(例如变体的相关列只填了一部分),导入会以这个报错停止。无论哪种情况,价格留空都有风险:如果套用了默认值,这个变体就会以 0.00 的价格上架。

常见原因

  • 在已有商品下新增了变体,但没有填写它的 Price。
  • 本来只用于添加图片的行,同时填写了选项值或 SKU,Shopify 把它当成变体,因而要求填写价格。
  • 文件来自其他平台,价格存放在别的列里,导致 Price 列为空。

解决方法

  1. 在报错信息中找到行号。第 1 行是表头。
  2. 在这一行的 Price 列(旧版文件为 Variant Price)填写价格,只写数字并用英文句点表示小数,例如 39.00;不要加货币符号或千位分隔符。
  3. 如果这一行只用来添加图片,清空它的选项值、SKU 等变体列,只保留 URL handle 和图片相关的列。
  4. 顺便检查同一商品的其他变体有没有空价格。
  5. 以 CSV UTF-8 格式保存,然后重新导入。

示例

修改前
URL handle,Title,Option1 name,Option1 value,Price
linen-shirt,Linen shirt,Size,S,39.00
linen-shirt,,,M,
修改后
URL handle,Title,Option1 name,Option1 value,Price
linen-shirt,Linen shirt,Size,S,39.00
linen-shirt,,,M,39.00

第二个变体(尺码 M)没有价格。即使价格和第一个变体相同,每个变体行也都要单独填写。

如何避免

  • 导入前筛选 Price 列中的空单元格,重点检查填写了选项值或 SKU 的行。
  • 用校验工具检查文件,它会列出每个价格为空的变体及其所在行。

导入前就发现这个问题

Skuvera 在浏览器中按 Shopify 的全部规则检查你的商品 CSV,并指出具体的行和列。免费,无需注册。

常见问题

可以导入价格为 0 的商品吗?
可以。免费赠品等商品请明确填写 0.00。写出具体数值能表明价格是有意设置的,而不是漏填。
Compare-at price 也必须填写吗?
不必。Compare-at price 是可选的,可以留空。如果填写,它应高于售价,折扣才会显示。

Skuvera 中的相关检查

查看 Shopify 官方说明

其他导入报错

更新于 2026年10月30日