影刀RPA新手教程:Excel与表格操作从入门到实战

电商数据采集,Excel是绕不开的环节——从Excel里读关键词去批量搜索,把采集到的商品数据写回表格,对几万条价格做清洗去重。手动操作的话,复制粘贴能让你怀疑人生。

影刀RPA把Excel操作封装成了可视化指令,不用写代码就能完成打开、读写、循环、保存全套流程。数据量上了万行,再配合Python代码指令做清洗,效率翻倍。

picture.image

今天这篇新手教程,从零开始讲Excel操作的四个核心场景:读取数据写入数据循环遍历数据清洗。我也是非技术出身,最开始连“单元格”和“行列”都搞混过,后来发现Excel自动化其实就三板斧——打开表格、定位数据、写入结果。

一、启动Excel与打开文件

picture.image

所有Excel操作的第一步:让影刀RPA和你的表格文件建立连接。

操作步骤

picture.image

  1. 右侧指令面板搜索“启动Excel”,拖入流程
  2. 详情面板中,文件路径填表格的完整路径(比如D:\数据\商品关键词.xlsx
  3. 是否可见建议勾选“是”——第一次调试时能看着Excel操作,方便发现问题。正式运行时再改成“否”,速度更快
  4. 把输出的Excel对象保存到一个变量(比如叫excel对象),后续所有操作都基于这个变量

picture.image

# 影刀RPA - 启动Excel配置示例
# 指令:启动Excel
# 文件路径:D:\RPA_Projects\商品关键词.xlsx
# 是否可见:是(调试时) / 否(正式运行时)

![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/253e6bbfeaa848e48b8542b03710d1f3~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1784091458&x-signature=w6o8xofKu8hUyzTtaJC02G%2FDRwU%3D)
# 输出到变量:excel对象

容易踩的坑

  • 文件路径里的反斜杠\要写成\\,或者直接用正斜杠/

picture.image

  • 表格被其他程序(比如你手动打开了)占用时,影刀RPA会报错打不开。运行前先关掉手动打开的Excel窗口
  • 流程结束后记得加“关闭Excel”指令,否则表格会被一直占用,下次运行可能报错

二、读取Excel数据:单元格、行、列、区域

picture.image 影刀RPA提供了四种读取方式,对应不同场景:

读取方式适用场景输出格式
读取单元格读单个数据(如标题行)单个值(字符串/数字)

picture.image | 读取行 | 按行处理数据 | 一维列表 | | 读取列 | 提取某一列所有数据 | 一维列表 | | 读取区域 | 读多行多列 | 二维列表 |

读取单元格

  • 指令:读取单元格
  • 参数:指定行号和列号(行和列都从1开始数)
  • 输出:存到一个变量里
# 影刀RPA - 读取单元格示例
# 读取第1行第1列(A1单元格)
读取单元格(excel对象, 行号=1, 列号=1) → 标题
# 标题变量 = "商品名称"

读取列数据到列表(最常用):

  • 场景:从Excel里读取所有关键词,批量去网页搜索
  • 指令:读取列数据到列表
  • 参数:指定列号(比如第1列)
  • 输出:一个列表,每个元素是一行的数据
# 影刀RPA - 读取列数据示例
# 场景:从Excel的A列读取所有关键词
读取列数据到列表(excel对象, 列号=1) → 关键词列表
# 关键词列表 = ["手机壳", "数据线", "充电宝", ...]

# 然后用【循环列表】遍历关键词列表,逐个去搜索

数字读取的坑:Excel里的数字默认读出来是浮点数(比如99.00)。如果你需要保持原样(比如作为字符串用),在读取指令里勾选“读取单元格显示的内容”,就会转成字符串。

三、写入Excel数据:单元格、行、区域

采集完数据要写回表格,影刀RPA同样提供了多种写入方式。

写入单元格

  • 指令:写入单元格
  • 参数:行号、列号、要写的内容
  • 适用:写单个值

picture.image

写入行数据到表格(最常用):

  • 场景:每采集完一条商品数据,就写入一行
  • 指令:写入行数据到表格
  • 参数:行号、要写入的列表数据
# 影刀RPA - 写入行数据示例
# 场景:每采集完一个商品,写入一行

# 假设采集到了以下数据
商品标题 = "iPhone15手机壳"
商品价格 = "29.9"
商品销量 = "5200"

![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/217d0f4548e84ff9a2313651b079c676~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1784091458&x-signature=rMMMSnN%2FzYq0pc464MFnv3BkLSg%3D)

# 组装成列表(注意顺序要和表头对应)
一行数据 = [商品标题, 商品价格, 商品销量]

# 写入第2行(假设第1行是表头)
写入行数据到表格(excel对象, 行号=2, 数据=一行数据)

# 如果是循环采集,行号用变量控制
当前行号 = 当前行号 + 1
写入行数据到表格(excel对象, 行号=当前行号, 数据=一行数据)

批量写入(推荐) :循环里逐条写入会拖慢速度。更好的做法是——循环里先把所有数据存到一个二维列表,循环结束后一次性写入。

# 影刀RPA - 批量写入示例
# 场景:循环采集完所有数据后,一次性写入

# 在循环外初始化一个空列表
全部数据 = []

# 循环采集
循环 遍历 商品列表
    采集标题()
    采集价格()
    采集销量()
    # 每采集一条,追加到全部数据列表
    追加数据到列表(全部数据, [标题, 价格, 销量])

# 循环结束后,一次性写入全部数据
写入区域到Excel(excel对象, 起始行=2, 起始列=1, 数据=全部数据)

社区版用户注意:一次性写入比逐条写入快得多,能帮你省下宝贵的30分钟免费时长。

四、循环遍历Excel内容

循环Excel内容是Excel自动化里最常用的指令——按行读取数据,每行处理一次。

操作步骤

  1. 指令面板搜索“循环Excel内容”,拖入流程
  2. 参数设置:选择Excel对象、起始行、结束行、列范围
  3. 循环体内部直接用“当前行数据”变量(这是一个一维列表,每个元素对应一列的值)
# 影刀RPA - 循环Excel内容示例
# 场景:从第2行开始(第1行是表头),循环读取A列到C列

循环Excel内容(
    excel对象 = excel对象,
    起始行 = 2,
    结束行 = 获取总行数(excel对象),  # 动态获取最后一行
    列范围 = "A:C"
)
    # 循环体内,当前行数据是一个列表
    # 当前行数据[0] = A列的值(关键词)
    # 当前行数据[1] = B列的值
    # 当前行数据[2] = C列的值
    
    关键词 = 当前行数据[0]
    # 用关键词去网页搜索
    打开网页("https://s.taobao.com/search?q=" + 关键词)
    # 采集结果...
    # 把结果写回当前行的D列
    写入单元格(excel对象, 行号=当前行号, 列号=4, 内容=采集结果)

踩坑提醒循环Excel内容的“当前行数据”是一个列表,不是单个值。新手容易犯的错误是直接把当前行数据当成字符串去用,结果报错Can not convert Array to String。记住:要用当前行数据[0]当前行数据[1]这种方式取具体列的值。

五、数据清洗:Python代码指令

采集到的原始数据经常“又脏又乱”——价格带“¥”和“元”、销量带“件”字、标题里有换行符。影刀RPA自带的“替换文本”“提取文本”能处理简单场景,但遇到复杂清洗(去重、条件过滤、批量替换)时,写一行Python比拖拽十几个指令快得多。

Python代码指令的位置:右侧指令面板 → 程序扩展 → Python代码

重要前提:Python代码指令右上角有一个蓝色小蛇图标(Python图标),必须点亮它,影刀才会执行你的Python代码。不点亮的话,指令会直接跳过。

# 影刀RPA - Python代码指令:清洗价格字段
# 输入:从影刀变量获取原始价格(如 "¥99.50元")
# 输出:通过print()返回清洗后的纯数字

import re

# 从影刀变量获取原始数据(变量名用双花括号包裹)
原始价格 = {{价格变量}}

# 清洗逻辑:提取数字和小数点
# re.findall() 找到所有数字和小数点,拼接成字符串
数字列表 = re.findall(r'[\d.]+', 原始价格)
if 数字列表:
    清洗后价格 = float(数字列表[0])  # 转成浮点数
else:
    清洗后价格 = 0

# 用print输出,影刀会捕获print的内容作为返回值
print(清洗后价格)

5个必会的Python字符串清洗函数

函数作用示例
.strip()去掉首尾空格和换行" 手机 ""手机"
.replace("旧","新")替换字符"99.00元""99.00"
.split("分隔符")分割成列表"苹果,香蕉"["苹果","香蕉"]
re.sub()正则替换去掉所有非数字字符
re.findall()正则提取提取所有数字

社区版Python限制社区版支持Python指令,但无法安装第三方库(如pandas、numpy)。创业版及以上可以。如果社区版用户需要pandas处理数据,可以把数据导出成CSV,用外部Python处理完再让影刀读取。

六、综合实战:Excel关键词批量搜索采集

把前面学的串起来,跑一个完整的Excel→网页采集→写回Excel流程:

1. 【启动Excel】打开"关键词.xlsx",输出到变量 excel对象
2. 【读取列数据到列表】读取A列所有关键词 → 关键词列表
3. 【循环列表】遍历关键词列表
    3.1 【打开网页】搜索当前关键词
    3.2 【等待元素出现】等待搜索结果加载
    3.3 【获取相似元素列表】获取所有商品卡片
    3.4 【循环相似元素】遍历每个商品卡片
        3.4.1 提取标题、价格、销量
        3.4.2 【追加数据到列表】存入临时列表
    3.5 【写入区域到Excel】把当前关键词的所有商品数据写入Excel
4. 【关闭Excel】保存并关闭

先抓后搜 vs 边抓边搜:我倾向于“先抓后搜”——先把所有数据抓完存到内存,最后一次性写入Excel。这样Excel不用频繁开关,速度更快,也不容易把表格搞坏。

常见问题与易错速查

错误现象可能原因修复方法
启动Excel报错文件被手动打开占用关掉手动打开的Excel窗口再运行
读取到的数字变成小数默认读成浮点数勾选“读取单元格显示的内容”
循环Excel内容报错类型错误把列表当字符串用了当前行数据[0]取具体列的值
Python代码没执行Python图标没点亮点击指令右上角的蓝色小蛇图标点亮它
写入数据覆盖了表头起始行写成了1从第2行开始写(第1行留给表头)
写入速度特别慢逐条写入改成批量写入(先存列表,最后一次性写)
社区版Python报错No module named 'pandas'社区版不能装第三方库导出CSV用外部Python处理

推荐资源

  • 影刀官方初级课程:B站搜索“影刀RPA《09 EXCEL操作自动化》”,含7小节,覆盖启动、读写、循环、拷贝、获取行列等
  • 影刀官方帮助中心:搜索“Excel大全”,罗列所有Excel指令及参数写法
  • Python正则表达式教程:搜索“Python re模块”,学完就能搞定90%的文本清洗

一句话总结Excel自动化的核心就三件事——启动Excel建立连接读取/写入数据(单元格/行/列/区域)循环遍历逐行处理。数据量小用可视化指令就够了,数据量大或清洗复杂时配合Python代码指令,效率翻倍。

试试从“读取Excel关键词批量搜索”开始,跑通第一个Excel自动化流程。


#影刀RPA #RPA自动化 #Excel处理 #数据采集 #电商自动化

作者:林焱

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

0
0
0
0
评论
未登录
暂无评论