SuperAPI AI 工具集

data-importer

数据与分析

查看项目

更新于 10-16 04:36

技能介绍

Data Importer 是 Saleor 配置工具集中的一项技能,主要用途是将来自外部来源的产品数据转换为 Saleor 的 config.yml 格式。它适用于从 CSV 文件、电子表格或 Shopify 导出数据中导入、迁移或转换产品数据的场景。

主要能力

该技能支持格式检测(CSV、Excel、JSON 或未知格式)、列提取(读取表头和样本数据)、交互式字段映射(由用户确认字段对应关系)、数据转换(转换为 Saleor 架构)以及输出前验证。对于 Excel(.xlsx)文件,需要先转换为 CSV,可使用命令:python3 -c "import pandas as pd; pd.read_excel('$FILE').to_csv('${FILE%.xlsx}.csv', index=False)"。CSV 文件可直接读取以检查表头和样本行。

字段映射

导入器不会假设列名,而是展示所有列及其样本值,询问每个 Saleor 字段对应哪一列,并将未映射的列标记为潜在属性。必填字段包括:product.name(通常来自 "name"、"title" 或任何描述性列)、product.slug(从名称生成,或来自 "handle"/"ID" 列)、variant.sku(来自 "SKU"、"External ID"、"Code")、productType(来自 "type" 列或用户指定)。可选字段包括:price(缺失时仅导入为目录)、quantity(缺失时跳过库存跟踪)、category(来自 category/region 列)、description(如果源数据中存在)。其他列将成为产品属性。

输出结构

生成的 config.yml 包含 productTypes、categories 和 products 等部分。productTypes 中的 productAttributes 由未映射的列转换而来;categories 的 slug 自动生成;products 包含 name、slug、productType 和 variants,variants 中根据 price 和 quantity 的存在情况包含 channelListings 和 stocks。

特殊处理

无 price 列时仅导入为目录,后续可添加定价;无 SKU 列时从名称生成或使用唯一 ID 列;未知列作为潜在属性呈现;多行相同产品时分组为一个产品的多个变体。

常见错误与验证

常见错误包括:未检查就假设列名、未处理缺失 SKU、未验证就导入、多行变体导致重复产品、忘记先创建产品类型。生成输出前需验证:所有产品有名称、所有变体有唯一 SKU、产品类型引用有效、无重复 slug。

参考文件

references/csv-patterns.md(CSV/Excel 解析技巧)、references/field-mapping.md(各种数据形状的映射策略)、references/shopify-format.md(Shopify 特定处理)、references/transformations.md(数据转换规则)。

相关技能

configurator-schema(config.yml 结构和字段要求)、product-modeling(导入前的产品类型设计)、saleor-domain(实体关系和标识符规则)。