影刀RPA新手教程:Excel表格数据读取、写入与批量处理的完整指南

在影刀RPA里做电商采集,Excel是绕不开的环节。所有采集到的数据要写到Excel里,要处理的关键词列表要从Excel里读,甚至多店铺的对账也要靠Excel汇总。可以说,Excel用不好,自动化流程就废了一半。

这篇文章从最基础的读取写入开始,到进阶的批量处理技巧和常见陷阱,全部用实战场景来拆解。非技术出身完全能跟上,保证你看完就能上手操作。

picture.image


指令面板中的三个核心Excel指令

picture.image

影刀RPA的Excel操作集中在“Excel”指令分类下。从新手到进阶,掌握这三个核心指令就能覆盖90%的工作场景。

指令一:打开Excel(或绑定Excel)

picture.image 所有Excel操作的第一步。有两种打开方式:

方式A:新建Excel

  • 在指令面板搜索“新建Excel”,指定一个保存路径
  • 适合从零开始写入数据的场景,比如采集完成后的数据导出

picture.image

方式B:打开已有Excel

  • 在指令面板搜索“打开Excel”,选择文件路径
  • 适合读取已有数据的场景,比如从关键词列表里读词

picture.image 配置要点

  • “是否可见”选项:建议勾选“不可见”。流程运行时不弹出Excel窗口,运行更快,也不会因为误触导致操作中断
  • “自动保存”选项:建议开启,防止流程意外中断导致数据丢失

结束后的操作:流程结束时务必使用“关闭Excel”指令释放资源。如果不关,下次再打开同一个文件时会提示“文件被占用”。

picture.image


指令二:读取Excel数据

picture.image 读取数据有三种常用方式:

方式A:读取单元格

  • 指定行号和列号,取单个单元格的值
  • 场景:读取特定的配置参数,比如读取A1单元格的“最大采集页数”

picture.image

方式B:读取行数据

  • 指定行号,返回该行所有列的数据(列表形式)
  • 场景:遍历数据表时逐行处理

方式C:读取所有数据

  • 返回整个表格的数据(二维列表),配合“循环遍历”逐行处理
  • 场景:批量处理关键词列表、账号列表

实操示例:读取关键词列表

1. 打开Excel(路径:D:\关键词库.xlsx)
2. 获取表格总行数(用“获取Excel行数”指令)
3. 读取A列所有关键词 → 存入列表变量 keywords
4. 关闭Excel
5. 循环遍历 keywords 列表,逐个执行搜索采集

容易踩的坑:读取到的数据默认是字符串类型。如果读取的是数字(比如价格、数量),一定要用“转换为数字”指令处理后再参与计算,否则会出现“1+1=11”这种字符串拼接的情况。


picture.image

指令三:写入Excel数据

写入数据也有三种方式:

方式A:写入单元格

  • 指定行号、列号,写入单个值
  • 场景:更新某个特定的配置或状态值

方式B:写入行数据

  • 指定行号,一次性写入整行数据(列表形式)
  • 场景:每条采集结果写入一行

方式C:写入所有数据(覆盖式)

  • 一次性把整个二维列表写入表格,覆盖原有内容
  • 场景:生成完整的报表

我常用的写入模式:先攒后写

不建议采集一条就写入一条,这样会频繁操作Excel文件,影响性能。我习惯这样做:

1. 在流程开始前初始化一个空列表 data_list = []
2. 在循环采集过程中,每采集到一条数据,用“添加元素到列表”指令追加到 data_list
3. 循环结束后,用“写入所有数据”指令一次性把 data_list 写入Excel

这种模式的优势:

  • Excel只操作一次,性能高
  • 数据在内存中处理速度快

picture.image

  • 方便在写入前做数据清洗和去重

四种遍历方式的对比与选型

在处理Excel数据时,不同的遍历方式适用于不同的场景:

方式一:行遍历(最常用)

场景:每一行是一条独立的记录(如商品数据、关键词列表)

循环(行号从1到总行数):
  1. 读取第N行所有列 → 存入行数据列表
  2. 提取第1列(商品ID)、第2列(商品名称)...
  3. 执行相应的业务操作

注意:如果第1行是表头,循环要从第2行开始。

方式二:列遍历

场景:某一列是一组需要处理的参数(如关键词列表在A列)

循环(行号从1到总行数):
  1. 读取第N行第A列 → 得到关键词
  2. 用该关键词执行搜索采集

方式三:动态行列遍历

场景:不确定表格的行数和列数

1. 用“获取Excel行数”获取总行数
2. 用“获取Excel列数”获取总列数
3. 双层循环:外层行,内层列
   - 读取每个单元格的值进行处理

方式四:条件过滤遍历

场景:只处理符合条件的行(如“状态”列=“待处理”)

1. 读取所有数据 → 存入二维列表
2. 遍历每一行:
   a. 检查第5列(状态列)是否等于“待处理”
   b. 如果是,则处理该行
   c. 如果否,跳过

大数据量处理的两个优化技巧

技巧一:分批写入避免内存溢出

如果采集数据超过1万行,一次性“写入所有数据”可能会导致影刀卡顿或内存溢出。解决方案是分批写入:

1. 初始化临时列表 temp_list = []
2. 每采集100条数据:
   a. 将temp_list追加到主数据列表
   b. 清空temp_list
3. 循环结束后,将主数据列表一次性写入Excel

技巧二:多表协同处理

有时候需要同时操作多个Excel文件——从A文件读取关键词,从B文件读取账号信息,采集结果写入C文件。

影刀支持同时打开多个Excel文件,但要注意:每个打开的Excel都要用独立的Excel对象变量来区分。我一般这样命名:

  • excel_关键词库:存放关键词
  • excel_账号池:存放账号信息
  • excel_采集结果:写入最终数据

影刀中调用Python进行高级数据清洗

当Excel数据量很大或者清洗逻辑比较复杂时(比如正则匹配、日期格式转换),建议用Python指令来处理。

# Python指令:Excel数据去重与清洗
# 输入:从Excel读取的原始数据列表(二维列表)
# 输出:清洗后的数据列表(二维列表)

import pandas as pd

def clean_excel_data(raw_data):
    """
    清洗Excel数据
    1. 去除空行
    2. 按第1列(商品ID)去重
    3. 价格列转为数字格式
    4. 日期列标准化
    """
    if not raw_data:
        return []
    
    # 转为DataFrame处理(需要先安装pandas)
    # 注意:列表第一行可能包含表头
    df = pd.DataFrame(raw_data[1:], columns=raw_data[0])
    
    # 删除所有列都为空的空行
    df = df.dropna(how='all')
    
    # 按第1列去重,保留第一次出现的记录
    df = df.drop_duplicates(subset=[df.columns[0]], keep='first')
    
    # 价格列清洗:移除¥符号,转为数字
    if '价格' in df.columns:
        df['价格'] = df['价格'].astype(str).str.replace(r'[¥¥,]', '', regex=True)
        df['价格'] = pd.to_numeric(df['价格'], errors='coerce')
    
    # 转回列表格式,方便写入Excel
    cleaned_data = [df.columns.tolist()] + df.values.tolist()
    
    return cleaned_data

在影刀中使用Python指令的步骤

  1. 在指令面板搜索“运行Python代码”
  2. 在代码框中输入上述清洗函数
  3. 定义输入变量(从Excel读取的数据)和输出变量(清洗后的数据)
  4. 确认Python图标已点亮(指令详情面板右上角)

常见问题速查表

现象原因快速修复
Excel打开失败报“文件被占用”上次流程未正确关闭Excel手动关闭Excel文件,或重启电脑
读取到的数字无法计算数据类型是字符串用“转换为数字”指令处理
写入数据时覆盖了原有内容误用了“写入所有数据”改用“写入行数据”追加写入
数据量大时流程变慢频繁操作Excel改为先攒数据,最后一次写入
读取中文内容乱码Excel文件编码问题另存为“UTF-8编码”的CSV文件
表格有合并单元格导致读取异常合并单元格干扰先取消合并,或通过“查找表格区域”获取实际数据范围

推荐资源

  • 影刀官方-Excel自动化课程:在影刀学习中心有完整的Excel操作教学视频,从基础到进阶,建议按顺序看一遍。
  • Excel插件-方方格子:如果你经常需要在Excel中手动处理数据,这个插件可以帮很多忙(数据清洗、合并拆分)。虽然影刀能自动化大部分,但有些临时性的数据整理用插件更快。
  • 社区版限制提醒:如果采集数据量很大(如每天上万条),建议使用Excel的.xlsx格式而非.xlsxlsx支持更大的行数(104万行),xls只有65536行。

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

作者:林焱

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

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