新手求助:如何将供应商CSV转换为Shopify兼容格式
解决Shopify CSV图片列转行的问题
方法一:用Excel/Google Sheets手动转换(无需编程)
假设你已经把供应商的CSV导入表格,表头是Handle、SKU、Image-1、Image-2、Image-3、Image-4,数据从第2行开始:
- 新建目标表格:开个新工作表,表头设为
Handle、Title、SKU、Image Src、Image Position - 处理首行图片:把原表第2行的
Handle、SKU、Image-1分别复制到新表第2行对应列,Image Position填1,Title有就填,没有留空 - 批量生成后续图片行:新表第3行的
Handle直接引用第2行的Handle(比如=A2),Image Src复制原表的Image-2,Image Position填2;选中这一行下拉到第5行,自动生成Image-3、Image-4对应的行,Handle会自动保持一致,Title和SKU留空就行 - 批量处理所有产品:把第2-5行的格式复制到所有产品对应的行,每个产品对应4行图片数据,注意调整每个产品的图片链接对应原表的列
方法二:用Python脚本自动转换(复制粘贴就能用)
如果产品数量多,手动太麻烦,可以用这个简单脚本:
- 装工具:先去Python官网下载安装包,安装时勾选「Add Python to PATH」;打开命令提示符,输入
pip install pandas按回车,安装表格处理工具 - 写脚本:新建一个文本文档,复制下面的代码进去,保存为
convert_shopify_csv.py(注意把后缀从.txt改成.py)import pandas as pd # 替换成你的原CSV文件名,比如"供应商文件.csv" original_csv = "原文件.csv" # 转换后保存的文件名 output_csv = "shopify格式.csv" df = pd.read_csv(original_csv) converted_rows = [] for _, product in df.iterrows(): handle = product['Handle'] sku = product['SKU'] # 如果原表有Title列就保留,没有就留空 title = product.get('Title', '') pos = 1 # 遍历所有Image-开头的列 while f'Image-{pos}' in product: img_link = product[f'Image-{pos}'] # 跳过空链接 if pd.notna(img_link) and img_link.strip() != '': if pos == 1: # 第一行保留SKU和Title new_row = { 'Handle': handle, 'Title': title, 'SKU': sku, 'Image Src': img_link, 'Image Position': pos } else: # 后续行只留Handle、图片链接和位置 new_row = { 'Handle': handle, 'Title': '', 'SKU': '', 'Image Src': img_link, 'Image Position': pos } converted_rows.append(new_row) pos += 1 # 保存成新CSV pd.DataFrame(converted_rows).to_csv(output_csv, index=False) - 运行脚本:把原CSV文件和这个脚本放在同一个文件夹里,双击脚本运行,或者打开命令提示符进入文件夹,输入
python convert_shopify_csv.py,就能得到符合Shopify要求的CSV文件
内容的提问来源于stack exchange,提问作者atom_29
相关产品推荐
相关产品推荐

