影刀RPA新手教程:变量与数据类型完全指南——字典列表JSON与复杂数据操作
影刀RPA新手教程变量与数据类型完全指南——字典列表JSON与复杂数据操作我带过一个新手做电商数据报表他写了五十多条指令处理销售数据结果因为一个变量类型搞错了——把字符串89当数字做加法——整个报表的数据全错。排查了两个小时才发现问题。从那以后我意识到变量和数据类型是影刀的地基地基不牢上面全是坑。这篇就以电商数据分析报表生成为主线把影刀的数据类型体系和十二大核心知识全过一遍。影刀安装与变量面板官网下载安装影刀装上浏览器插件。打开流程编辑器后右侧有个变量面板这是你管理所有变量的地方。变量面板里你能看到每个变量的名称、类型和当前值。调试时这个面板就是你的眼睛——所有数据流动都能在这里看到。新建变量时要选类型影刀支持数字、字符串、列表、字典、布尔值等类型。元素定位四合一数据采集的起点做报表要先采集数据。电商后台的销售数据在网页上元素定位是采集的第一步。元素捕获是最快的方式点一下元素就抓到。但报表数据量大时元素捕获的路径稳定性不够。销售数据表格的每一行用XPath定位更可靠//table[classsales-table]//tr[classdata-row]CSS选择器在表格数据上很高效table.sales-table tr.data-rowXPath和CSS选型表格结构用CSS更简洁需要文本匹配用XPath。正则表达式用于从采集的文本中提取数字——销售额1,234.56要提取出1234.56importre text1,234.56amountfloat(re.search(r([\d,]\.?\d*),text).group(1).replace(,,))变量与数据类型这篇的核心报表系统的数据类型全景数字类型——销售额、订单数、转化率。做加减乘除时确保变量是数字类型而不是字符串。我那个同事踩的坑就是89是字符串“89”1在Python里报错在影刀里可能默默变成891。字符串——商品名称、店铺名、日期。索引和拼接是核心操作# 索引取前20字符short_titleproduct_title[:20]# 拼接[video(video-V2pbprmE-1782669601674)(type-csdn)(url-https://live.csdn.net/v/embed/525010)(image-https://v-blog.csdnimg.cn/asset/f4faa587144cb7070f19e8b36813806b/cover/Cover0.jpg)(title-店群矩阵自动化突破运营极限)]report_title销售报表_date_str_shop_name列表——一批数据。销售数据列表、商品列表、日期列表。列表操作要熟练sales_list[1200,1500,980,2300,1800]totalsum(sales_list)# 求和avgtotal/len(sales_list)# 平均值max_salemax(sales_list)# 最大值sorted_salessorted(sales_list)# 排序字典——结构化数据。一条销售记录就是一个字典sale_record{date:2026-06-24,product_id:P001,product_name:蓝牙耳机,quantity:15,amount:2985.00,platform:taobao}字典最经典的坑——键不存在直接报错。两个方案方案一If判断ifdiscountinsale_record:discountsale_record[discount]else:discount1.0方案二get方法推荐discountsale_record.get(discount,1.0)JSON——API对接的核心。HTTP请求拿到的都是文本要转JSON才能操作importjson# 文本转JSONresponse_text{code: 0, data: {total: 1234, items: [{name: 耳机, qty: 15}]}}datajson.loads(response_text)totaldata[data][total]itemsdata[data][items]# 操作完转回文本result{report:daily,total_sales:total}result_textjson.dumps(result,ensure_asciiFalse)我在报表系统里用JSON存配置——数据源配置、报表模板、定时任务参数全部用一个JSON文件管理。复杂数据操作——列表嵌套字典是报表系统最常见的结构sales_data[{date:2026-06-24,product:耳机,amount:2985},{date:2026-06-24,product:手机壳,amount:580},{date:2026-06-25,product:耳机,amount:3200},{date:2026-06-25,product:充电器,amount:1500},]# 按日期分组fromcollectionsimportdefaultdict daily_salesdefaultdict(float)forrecordinsales_data:daily_sales[record[date]]record[amount]# 按金额排序sorted_datasorted(sales_data,keylambdax:x[amount],reverseTrue)# 筛选特定商品earphone_sales[rforrinsales_dataifr[product]耳机]流程控制数据处理的骨架报表生成的流程控制For次数循环用于生成多张报表——一次生成7天的日报。相似元素循环用于采集网页表格的每一行。ForEach列表循环用于遍历销售数据列表逐条处理。While条件循环用于数据分页采集——“只要还有数据就继续翻页”。If条件判断——如果当天销售额超过1万就标记为爆款日。Try-Catch包住数据采集逻辑网络出错就跳过当天继续下一天。网页自动化数据采集层报表系统的数据来自电商后台。等待策略三种配合使用固定等待做兜底元素等待等数据加载条件等待等Ajax完成。弹窗处理走五步标准流程。后台系统的弹窗比较规范Try-Catch兜底基本够用。翻页用disabled class判断。懒加载配合滚动和index去重。iframe切换在报表嵌套页面时要用。窗口切换在多店铺后台时注意别串。数据处理报表系统的核心Excel是报表的最终输出。读取销售数据用读取Excel区域写入报表用写入Excel区域。批量处理攒一批写。文本提取清洗——金额格式统一、日期格式统一、去除特殊字符。JSON解析对接API数据源。数据库连接做历史数据查询——SELECT查历史报表executemany批量插入新数据用完关闭。数据库五个常见报错连接超时查网络、权限查密码、SQL语法打印检查、字符集指定utf8、连接数超限及时关闭。鼠标键盘图像自动化报表系统主要靠数据操作但有些场景要上鼠标键盘。后台的导出按钮有时元素捕获定位不到用图像识别click。截图保存报表用截屏指令。模拟模式和驱动模式的选择——导出文件时弹出的文件选择框用驱动模式输入路径。OCR识别用在图片型数据上——有些后台把销售额做成图片防爬。wait_appear等图片出现识别后正则提取数字。锚点9位置加偏移量用于精确定位按钮。进阶技能数据处理的高级武器HTTP请求对接平台API——直接拿结构化数据比网页采集快且稳。淘宝和拼多多的销售数据API返回JSONjson.loads后直接操作。Python协同是报表系统的核心。用pandas做数据分析效率翻倍importpandasaspd# 创建DataFramedfpd.DataFrame(sales_data)# 按日期汇总daily_reportdf.groupby(date)[amount].agg([sum,mean,count])# 按商品排名product_rankdf.groupby(product)[amount].sum().sort_values(ascendingFalse)# 导出到Exceldaily_report.to_excel(daily_report.xlsx)第三方库安装——pandas、openpyxl、matplotlib这些库让影刀的数据处理能力上一个台阶。用pip安装后在影刀的Python脚本里直接import。平台实战多平台数据汇总报表系统要汇总多个平台的数据。淘宝销售数据从卖家后台采集或API获取。拼多多数据要注意防反爬。抖音电商数据是动态加载。小红书电商数据在APP端要用ADB。temu店群自动化报活动案例每个平台的数据格式不同统一转换成标准结构再汇总defnormalize_taobao(raw):return{platform:taobao,amount:raw[交易额],date:raw[日期]}defnormalize_pdd(raw):return{platform:pdd,amount:raw[销售额],date:raw[time]}系统联动报表分发报表生成后要分发。飞书消息通知——发报表摘要到飞书群。飞书多维表格——把数据写进多维表格做在线看板。邮件发送——把Excel附件发给相关人员。定时任务——每天早上8点自动生成昨天的报表。工程化与规范数据流程的可维护性子流程封装——“采集数据”“处理数据”“生成报表”发送通知四个子流程。参数传递采集子流程传日期参数返回原始数据处理子流程传原始数据返回清洗后的数据。调试技巧——在数据处理的每一步加输出看数据流转是否正确。打断点在类型转换的地方确认变量类型对不对。变量面板是你的好朋友。命名规范——变量名要能看出类型和含义。sales_list一看就是列表config_dict一看就是字典total_amount一看就是数字。不要用a、b、x这种名字。版本选择——社区版够个人报表用。创业版支持定时任务自动生成报表。企业版支持多机器人并行处理大数据量。速查表与常见报错字符串拼接报错——类型不一致数字要str()转成字符串再拼接。字典键不存在——用get方法给默认值。JSON解析失败——检查文本格式可能有BOM头或多余字符。列表索引越界——先检查len()。类型混淆——用type()查看变量类型。浮点数精度问题——用round(a, 2)保留两位小数。ExcelArray to String——列表先join。日期偏移——Excel比Python多2天。内存不足——大数据用pandas分块读取。循环中修改列表——先复制再循环foriteminsales_list[:]:# 复制一份ifitem[amount]0:sales_list.remove(item)我在 home.linyan.cloud 整理了一份影刀变量类型操作速查表每种类型的常用操作一目了然。#影刀RPA #变量与数据类型 #RPA教程 #数据处理作者林焱