You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python将pandas DataFrame产品数据直接上传至WooCommerce

实现方法

1. 安装依赖库

首先安装WooCommerce官方提供的Python SDK:

pip install woocommerce

2. 提前准备API凭证

登录你的WordPress后台,进入WooCommerce → 设置 → 高级 → REST API,添加新的API密钥,权限选择「读写」,生成后保存好consumer_key、consumer_secret,以及你的站点根地址。

3. 修改原有代码

不需要生成CSV文件,直接遍历DataFrame的每行数据,构造符合WooCommerce接口规范的请求参数后调用上传接口即可,完整代码示例如下:

import pandas as pd
from woocommerce import API

# 初始化WooCommerce API客户端
wcapi = API(
    url="你的站点地址(比如https://example.com)",
    consumer_key="你的consumer_key",
    consumer_secret="你的consumer_secret",
    version="wc/v3",
    wp_api=True,
    timeout=30
)

# 你原有爬虫部分的代码
scrapedresult = []
# --- 这里是你原有爬虫逻辑,获取title、price、images变量---
scraped = {
    'Name *': title,
    'Price': price,
    'Image URLs': images,
}
scrapedresult.append(scraped)
# --- 爬虫逻辑结束 ---

df = pd.DataFrame(scrapedresult)
print(df)

# 遍历DataFrame上传产品
for index, row in df.iterrows():
    # 构造符合WooCommerce要求的产品数据
    product_data = {
        "name": row['Name *'],
        "regular_price": str(row['Price']), # Woo要求价格为字符串格式
        "images": [{"src": img_url} for img_url in row['Image URLs']]
        # 你可以在这里添加更多产品字段,比如描述、库存、分类等
    }
    # 调用创建产品接口
    response = wcapi.post("products", product_data)
    # 打印上传结果,方便排查问题
    if response.status_code == 201:
        print(f"产品{row['Name *']}上传成功,产品ID:{response.json()['id']}")
    else:
        print(f"产品{row['Name *']}上传失败,错误信息:{response.json()}")

优化建议

  • 批量上传产品时可以使用批量接口wcapi.post("products/batch", {"create": 产品列表}),一次最多上传100个产品,大幅提升上传效率
  • 可添加异常捕获逻辑处理网络波动、接口超时等异常情况
  • 如果需要避免重复上传,可先调用产品查询接口根据名称或者自定义SKU判断产品是否已存在,存在则调用PUT接口更新,不存在再创建

内容的提问来源于stack exchange,提问作者lanavargas2002

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 04:57:04