影刀RPA进阶教程_Pandas在影刀中的常用操作
影刀RPA进阶教程Pandas在影刀中的常用操作——筛选、排序、合并与去重影刀自带的表格指令处理简单的读写没问题但遇到筛选、排序、合并、去重这些操作还是用Python的Pandas更快。一个前提Python图标要先点亮。影刀客户端左下角有个Python图标的开关确认它是亮的。如果灰着点一下——没有Python环境的话影刀会自动引导你装。默认装了Pandas。打开Python代码指令就能写。一、什么时候跳出影刀表格指令、用Pandas操作影刀内置指令Pandas建议读表格、写行✅ 方便也行影刀追加一条数据✅ 方便也行影刀按条件筛选行❌ 需要多步✅ 一行df[df[‘价格’]100]Pandas多列排序❌ 不支持✅ df.sort_values([…])Pandas两个表按字段合并❌ 不支持✅ pd.merge()Pandas去重❌ 需要手动✅ df.drop_duplicates()Pandas分组统计❌ 不支持✅ df.groupby().sum()Pandas导出Excel✅ 导出表格✅ df.to_excel()都可简单说单表读写用影刀多表操作和数据分析用Pandas。二、读取表格到Pandas# 在影刀的Python代码指令中importpandasaspd# 读取Excel注意路径用正斜杠或双反斜杠dfpd.read_excel(rD:\电商数据\拼多多连衣裙_20260609.xlsx)[video(video-5yNlzcDI-1781112366531)(type-csdn)(url-https://live.csdn.net/v/embed/525010)(image-https://v-blog.csdnimg.cn/asset/f4faa587144cb7070f19e8b36813806b/cover/Cover0.jpg)(title-店群矩阵自动化突破运营极限)]# 看看数据长什么样print(df.head())# 前5行print(df.info())# 列名、类型、空值数量print(df.describe())# 数值列的统计信息r...是Python的原始字符串让路径里的\不被当成转义符。Windows路径必备。三、筛选从几千条数据里挑出你要的# 场景1只要价格在50~200之间的商品筛选结果df[(df[价格]50)(df[价格]200)]# 场景2只要销量大于1000且价格小于100的商品筛选结果df[(df[销量万件]1000)(df[价格]100)]# 场景3店铺名包含旗舰店的商品筛选结果df[df[店铺名].str.contains(旗舰店,naFalse)]# 场景4排除特定店铺的商品筛选结果df[~df[店铺名].isin([测试店铺,无效商户])]# 场景5标题包含连衣裙或裙子OR条件筛选结果df[df[商品名称].str.contains(连衣裙|裙子,naFalse)]多条件拼接时注意AND 用不是andOR 用|不是or每个条件外面要加括号# ❌ 错误写法df[df[价格]50anddf[价格]200]# ✅ 正确写法df[(df[价格]50)(df[价格]200)]四、排序把表格内容按需要排列# 单列排序按价格从低到高df_sorteddf.sort_values(价格)# 按价格从高到低df_sorteddf.sort_values(价格,ascendingFalse)# 多列排序先按销量降序再按价格升序df_sorteddf.sort_values([销量万件,价格],ascending[False,True])五、合并两张表拼成一张电商场景里经常有一张表是今天的采集数据另一张是昨天的历史数据需要合并到一起对比。# 纵向拼接A表下面加B表——相同列名追加行合并结果pd.concat([df_今天,df_昨天],ignore_indexTrue)# 横向合并按共同字段关联——类似Excel的VLOOKUP# 场景商品ID表 价格表通过商品ID合并合并结果pd.merge(商品基础表,价格信息表,on商品ID,howleft)howleft表示保留左表所有行右表匹配不上的填NaN。六、去重排除重复数据# 全列去重所有字段完全一样才删去重结果df.drop_duplicates()# 按商品ID去重同一个ID只保留第一条去重结果df.drop_duplicates(subset商品ID)# 按商品ID去重保留最后出现的那条去重结果df.drop_duplicates(subset商品ID,keeplast)# 找出哪些是重复的不删除只标记df[是否重复]df.duplicated(subset商品ID)七、分组统计从数据里挖信息# 按店铺统计商品数量和平均价格统计结果df.groupby(店铺名).agg(商品数量(商品名称,count),平均价格(价格,mean),最低价格(价格,min),最高价格(价格,max)).reset_index()# 按分类统计总销量分类统计df.groupby(商品分类)[销量].sum().reset_index()分类统计分类统计.sort_values(销量,ascendingFalse)# 降序temu店群自动化报活动案例八、处理后写回Excel# 写入单个Sheet筛选结果.to_excel(rD:\电商数据\筛选结果.xlsx,indexFalse)# 写入多个Sheetwithpd.ExcelWriter(rD:\电商数据\多Sheet结果.xlsx)aswriter:df_全部.to_excel(writer,sheet_name原始数据,indexFalse)筛选结果.to_excel(writer,sheet_name筛选后,indexFalse)统计结果.to_excel(writer,sheet_name统计分析,indexFalse)indexFalse很重要——不加的话导出的Excel会多一列行号。九、在影刀流程中的实际集成# 完整数据采集 Pandas处理流程# 第1步影刀采集 打开网页(https://search.jd.com/Search?keyword机械键盘)等待元素出现(商品列表,5秒)新建Excel-原始数据表 写入行数据(原始数据表,[商品名称,价格,店铺名,评论数])# 多页采集用翻页逻辑参考翻页文章# ... 采集代码 ...导出表格(原始数据表,D:\机械键盘_原始.xlsx)# 第2步Pandas数据清洗Python代码指令 importpandasaspd dfpd.read_excel(rD:\机械键盘_原始.xlsx)# 去重dfdf.drop_duplicates(subset商品名称)# 价格转数字有些价格是¥199格式df[价格]df[价格].str.replace(r[¥,],,regexTrue).astype(float)# 筛选只要100~500之间的dfdf[(df[价格]100)(df[价格]500)]# 按价格排序dfdf.sort_values(价格)# 导出清洗后的数据df.to_excel(rD:\机械键盘_清洗后.xlsx,indexFalse)print(f清洗完成原始{len(df_原始)}条 → 清洗后{len(df)}条)# 第3步影刀发飞书通知 # 飞书消息通知指令参考飞书联动文章十、新手常见报错报错原因解决No module named pandasPandas没装影刀客户端 → 右侧Python图标 → 点开检查环境 → 点安装PandasFileNotFoundError文件路径写错或文件不存在确认路径中文路径加rKeyError: 价格列名和代码里写的不一致print(df.columns)输出所有列名对比UnicodeDecodeErrorCSV文件编码不是UTF-8pd.read_csv(file.csv, encodinggbk)作者林焱本文为《影刀RPA学习手册》系列文章之一内容源于实操经验的整理与分享。