ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

影刀RPA进阶教程:多平台电商数据自动汇总与飞书看板搭建

影刀RPA进阶教程:多平台电商数据自动汇总与飞书看板搭建

影刀RPA进阶教程:多平台电商数据自动汇总与飞书看板搭建

5个拼多多店铺、3个淘宝店、2个TEMU店,每天要汇总10个店铺的数据到一张表里看全局——手动做这件事最痛苦的不是采集,而是汇总后的格式统一和数据对齐。各平台的数据字段不同、货币单位不同、时间维度不同,强行拼在一起就是一锅粥。

飞书多维表格是电商数据看板的最佳载体——实时更新、多人协作、图表自动刷新。

用影刀RPA把多平台数据自动写入飞书Base(多维表格),手机就能随时看各店铺实时数据。这套方案我跑了半年,从没出过数据错位的问题。

飞书多维表格看板设计

用飞书Base(Bitable)做电商数据看板,核心设计三个层级:

第一层:原始数据表

每个平台一张原始数据表,存放采集到的原始数据,不做任何加工。

表名字段说明
拼多多原始数据日期、店铺、销售额、订单数、访客数、转化率、退款金额按日存储
淘宝原始数据日期、店铺、销售额、订单数、访客数、转化率、退款金额按日存储
TEMU原始数据日期、店铺、Revenue(USD)、Orders、Visitors、Conversion、Refund按日存储,保留原币

在飞书多维表格中创建这些表,确保每张表的「日期」字段类型为日期、「店铺」字段类型为文本、「销售额」等数值字段类型为数字。

第二层:汇总计算表

用飞书Base的「公式」和「查找引用」字段做自动汇总,不需要手动计算。

核心公式示例(飞书Base公式):

-- 计算退款率(%) ROUND(退款金额/销售额*100, 2) -- 近7天销售额(查找引用字段类型) 设一个「查找引用」字段,源表为原始数据表 条件:"日期" 为近7天 聚合:SUM("销售额") -- 环比增长(%) ROUND((今日销售额-昨日销售额)/昨日销售额*100, 2)

第三层:仪表盘

飞书Base支持创建「仪表盘」组件:

  • 数值卡片:展示总销售额、总订单数
  • 折线图:近30天销售额趋势
  • 柱状图:各平台销售额对比
  • 饼图:各平台订单占比
  • 排行榜:各店铺销售排行

影刀RPA数据写入飞书Base

影刀RPA采集完数据后,调用飞书API将数据写入多维表格。

原始数据写入流程

子流程:写入飞书Base记录 ├── [设置变量] → 获取采集到的数据行 ├── [Python脚本] → 调用飞书API批量写入 ├── [判断返回值] → 如果失败,记录日志并重试 └── [更新变量] → 记录已写入的行数

批量写入API代码

# 影刀RPA调用飞书API批量写入多维表格importrequests,json token=flow.get_variable("feishu_token")app_token=flow.get_variable("bitable_app_token")# 多维表格IDtable_id=flow.get_variable("table_pdd_raw")# 拼多多原始数据表IDurl=f"https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records/batch_create"headers={"Authorization":f"Bearer{token}","Content-Type":"application/json; charset=utf-8"}# 从影刀变量中获取采集到的数据(JSON字符串格式)raw_data=json.loads(flow.get_variable("pdd_data_json"))# 构造批量写入的数据(最多一次500条)records=[]forrowinraw_data:records.append({"fields":{"日期":row["date"],# 格式: 2026-06-25"店铺":row["shop_name"],"销售额":row["sales"],"订单数":row["orders"],"访客数":row["visitors"],"转化率":row["conversion"],"退款金额":row["refund"]}})# 飞书API单次请求最多500条,超过需分批batch_size=500foriinrange(0,len(records),batch_size):batch=records[i:i+batch_size]data={"records":batch}resp=requests.post(url,headers=headers,json=data,timeout=30)result=resp.json()ifresult.get("code")==0:print(f"第{i//batch_size+1}批写入成功:{len(batch)}条")else:print(f"第{i//batch_size+1}批写入失败:{result.get('msg')}")# 重试一次resp2=requests.post(url,headers=headers,json=data,timeout=30)ifresp2.json().get("code")==0:print("重试成功")else:print(f"重试仍失败,跳过该批次")

写入前的去重策略

每天定时任务跑的时候,可能出现部分数据已写入的情况。在写入前做去重:

# 先查询今天已存在的记录数,实现去重importrequests token=flow.get_variable("feishu_token")app_token=flow.get_variable("bitable_app_token")table_id=flow.get_variable("table_pdd_raw")# 查询今天已有的记录today="2026-06-26"# 从影刀变量读取filter_url=f"https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records"filter_params={"filter":f'CurrentValue.[日期]="{today}"',"page_size":1# 只取1条检查是否存在}filter_headers={"Authorization":f"Bearer{token}"}resp=requests.get(filter_url,headers=filter_headers,params=filter_params,timeout=10)existing_count=resp.json().get("data",{}).get("total",0)ifexisting_count>0:print(f"今天已有{existing_count}条记录,先删除旧数据再写入")# 批量删除已有记录(需要先查询全部已有记录获取record_id)# ... 删除逻辑 ...else:print("今天无记录,直接写入新数据")

仪表盘图表自动更新

飞书Base的仪表盘在数据更新时会自动刷新,不需要额外操作。但有一个注意点:公式字段和查找引用字段的更新有3-5分钟延迟。

如果你在影刀RPA写入数据后立刻打开仪表盘截图,图表可能还没更新。建议在写入完成后「等待」5分钟再截图。

仪表盘截图推送到群

飞书仪表盘支持导出为图片。在影刀RPA中:

[打开网页] → 飞书多维表格的仪表盘URL [等待网页元素出现] → 仪表盘加载完成 [截图] → 截取整个仪表盘区域 [子流程] → 上传图片到飞书 [子流程] → 发送图片到指定群聊

TEMU数据汇率的自动换算

TEMU数据是美元,写入飞书看板时要做汇率换算。可以调用汇率API获取实时汇率:

# 获取实时美元兑人民币汇率importrequests# 使用免费的汇率API(示例)url="https://api.exchangerate-api.com/v4/latest/USD"resp=requests.get(url,timeout=10)data=resp.json()usd_to_cny=data["rates"]["CNY"]flow.set_variable("usd_to_cny_rate",usd_to_cny)print(f"当前汇率: 1 USD ={usd_to_cny}CNY")# TEMU数据换算temu_sales_usd=1234.56temu_sales_cny=temu_sales_usd*usd_to_cny

汇率波动在±0.5%以内对日报影响不大。如果需要精确记账,建议用银行的牌价而非实时中间价。

子流程复用:三平台通用数据写入

把数据写入飞书Base的逻辑封装成可复用的子流程:

子流程:写入平台数据到飞书Base 参数(输入): - platform: 平台名称("拼多多"/"淘宝"/"TEMU") - table_id: 目标表ID - data_json: 数据JSON字符串 步骤: [解析JSON] → 提取数据行 [判断] platform == "TEMU" → 汇率换算 [构造写入请求] → 批量写入 [返回] 写入结果

在影刀RPA中,在主流程里三次调这个子流程,每次传入不同参数即可。这样主流程很简洁:

[子流程] 写入平台数据到飞书Base(platform='拼多多', table_id='pdd', data=...) [子流程] 写入平台数据到飞书Base(platform='淘宝', table_id='tb', data=...) [子流程] 写入平台数据到飞书Base(platform='TEMU', table_id='temu', data=...) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d83d84b767944096acb0b67d828d8230.png#pic_center)

常见问题/易错速查

问题原因解决
写入Base后仪表盘数据不变公式字段计算有延迟等3-5分钟再刷新仪表盘
批量写入部分成功部分失败某条记录的字段类型不匹配检查数字字段是否传了字符串
Base的查找引用计算不过来了数据量太大,飞书Base计算资源不足拆分表,单表不超过5000行
TEMU汇率换算后金额不对忘记汇率是浮点数,直接拼字符串统一用round(x, 2)保留两位小数
多平台数据写入顺序错乱网络波动导致写入顺序不可预测用同步调用(一个接一个),不用异步

推荐资源

  • 飞书Base API文档:https://open.feishu.cn/document/server-docs/docs/bitable-v1/bitable-overview
  • 飞书Base的「公式」语法文档——在Base单元格中输入=查看函数列表
  • 影刀RPA「HTTP请求」指令帮助文档——不做Python也能调用API

#影刀RPA #RPA自动化 #数据看板 #飞书 #电商数据 #多平台 #TEMU #数据汇总

作者:林焱

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进