Blame view

docs/亚马逊格式数据转店匠商品导入模板.md 5.9 KB
cd29428b   tangwang   亚马逊数据导入店匠店铺 - 数据处理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
  ## 亚马逊格式数据 → 店匠(Shoplazza)商品导入模板:转换说明
  
  本仓库支持把 `data/mai_jia_jing_ling/products_data/*.xlsx`(**亚马逊格式导出**)转换为店匠后台可导入的 `docs/商品导入模板.xlsx` 格式。
  
  对应脚本:
  - **主入口**`scripts/amazon_xlsx_to_shoplazza_xlsx.py`
  - **历史兼容**`scripts/competitor_xlsx_to_shoplazza_xlsx.py`(仅名称过时,逻辑一致)
  - **模板写入复用工具**`scripts/shoplazza_excel_template.py`
  
  ---
  
  ## 一、输入数据(亚马逊格式 xlsx)的关键字段
  
  `Competitor-US-Last-30-days-363464.xlsx` 为例(文件名不影响:内容是亚马逊维度字段):
  
  - **ASIN**:变体 id(我们视为 `sku_id`,会写入模板的 `商品SKU`
  - **父ASIN**:父商品 id(我们视为 `spu_id`/`product_id`,会写入模板的 `商品spu`,并用于分组 M/P)
  - **商品标题**:商品标题(写入 `商品标题*`、SEO标题等)
  - **SKU**:亚马逊变体描述字符串(关键:解析出多款式维度)
    - 示例:`Size: One Size | Color: Black`
  - **商品主图**:图片 URL(用于 `商品图片*` / `商品主图`
  - **价格($)** / **prime价格($)**:价格(用于 `商品售价*` / `商品原价`
  - **详细参数**:详情参数串(用于拼接 `商品描述`
  - **上架时间**:用于 `创建时间`
  - **类目路径/大类目/小类目/品牌/商品详情页链接/品牌链接**:用于专辑、标签、SEO、供应商URL、备注等
  - **商品重量(单位换算)/商品重量/商品尺寸**:用于 `商品重量/重量单位/尺寸信息`
  
  > 注意:该数据源通常**没有库存**,脚本默认给每个变体一个固定库存(当前默认 100),以满足导入后的可用性。
  
  ---
  
  ## 二、输出数据(店匠导入模板)的核心规则(M / P / S)
  
  店匠模板在 `docs/商品导入模板说明.md` 中定义了三种商品属性(`商品属性*`):
  
  - **S(单一款式)**:一个商品只有一个变体(只有 1 个 ASIN)
    - 输出 **1 行**
  - **M(主商品)+ P(子款式)**:一个父商品(父ASIN)包含多个变体(多个 ASIN)
    - 输出 **1 行 M + N 行 P**
    -**同一商品的 P 行必须紧跟在 M 行后面**(模板导入强约束)
  
  本仓库的转换策略:
  - 对每个 `父ASIN` 分组:
    - **分组 size = 1** → 生成 `S`
    - **分组 size > 1** → 生成 `M` + 多个 `P`
  
  ---
  
  ## 三、多款式(变体)是如何构造的(最关键部分)
  
  ### 1)为什么 “SKU” 列是关键
  
  亚马逊格式里,变体的“颜色/尺码”等信息往往并不拆成多个列,而是集中在 `SKU` 字符串里,例如:
  
  - `Size: One Size | Color: Black`
  - `Color: Red | Style: 2-Pack`
  
  店匠模板的多款式需要:
  - **M 行**`款式1/款式2/款式3` 写“维度名”(例如 Size / Color / Material)
  - **P 行**`款式1/款式2/款式3` 写“维度值”(例如 One Size / Black / Cotton)
  
  ### 2)脚本如何从 SKU 解析出维度(key/value)
  
  脚本会把 `SKU` 以 `|` 分割,再用 `:` 拆成 key/value:
  
  - 输入:`Size: One Size | Color: Black`
  - 解析结果:`{ "Size": "One Size", "Color": "Black" }`
  
  ### 3)如何从多个变体里选出 “最多3个维度”
  
  店匠模板只提供 `款式1~3` 三个维度,因此脚本会在一个 `父ASIN` 组内统计 key 的出现频次,并按优先级挑选最多 3 个维度:
  
  - 优先级大致为:`Size`、`Color`、`Style`、`Pattern`、`Material` ……
  - 如果一个组里解析不到任何 key/value,则退化为单维度:`Variant`
    - M 行 `款式1 = Variant`
    - P 行 `款式1 = ASIN`
  
  ### 4)M 行与 P 行分别填什么(避免导入报错)
  
  根据模板说明,脚本遵循以下分工:
  
  - **M 行(主商品)**
    - 填:标题/描述/SEO/专辑/标签/主图/款式维度名
    - 不填:价格、库存、重量等 SKU 级字段(保持为空更安全)
  - **P 行(子款式)**
    - 填:款式维度值、价格、商品SKU(ASIN)、库存、重量、尺寸、(可选)子款式图
    - 不填:描述/SEO/专辑/供应商等 SPU 级字段(保持为空)
  
  ---
  
  ## 四、字段映射总览(高频字段)
  
  - **商品spu**`父ASIN`(无父ASIN则用 ASIN)
  - **商品SKU**`ASIN`
  - **商品标题\***`商品标题`
  - **商品图片\*** / **商品主图**`商品主图`
  - **商品售价\***`prime价格($)` 优先,否则 `价格($)`
  - **创建时间**`上架时间`(仅日期时补齐为 `YYYY-MM-DD 00:00:00`
  - **商品描述**`商品标题` + `详细参数`(以 HTML 拼接)
  - **专辑名称**`大类目`(无则取 `类目路径` 第一段)
  - **标签**`品牌,大类目,小类目`
  - **商品重量/重量单位** ← 优先解析 `商品重量(单位换算)`(如 `68.04 g`
  - **尺寸信息** ← 解析 `商品尺寸` 前三段数字(英寸)拼成 `L,W,H`
  
  ---
  
  ## 五、如何运行(生成导入文件)
  
  ### 1)先小批量验证(推荐)
  
  ```bash
  python scripts/amazon_xlsx_to_shoplazza_xlsx.py \
    --input-dir data/mai_jia_jing_ling/products_data \
    --template docs/商品导入模板.xlsx \
    --output data/mai_jia_jing_ling/amazon_shoplazza_import_SAMPLE.xlsx \
    --max-files 1 --max-rows-per-file 2000 --max-products 50
  ```
  
  ### 2)生成全量
  
  ```bash
  python scripts/amazon_xlsx_to_shoplazza_xlsx.py \
    --input-dir data/mai_jia_jing_ling/products_data \
    --template docs/商品导入模板.xlsx \
    --output data/mai_jia_jing_ling/amazon_shoplazza_import_ALL.xlsx
  ```
  
  ---
  
  ## 六、可扩展点(后续常见需求)
  
  - **库存/上架/收税策略参数化**:目前是脚本默认值(Y/N/100),可按目标店铺规则改为命令行参数。
  - **更强的多款式解析**:如果未来亚马逊格式 `SKU` 不规范,可补充从 `详细参数` 里挖出 `Color/Size`
  - **图片策略**:目前 P 行用各自 `商品主图`;也可改为 M 行合并多图(逗号拼接)。