【实战案例】火语言 RPA实现 Excel 数据结构化拆分(附完整脚本)

49 阅读4分钟

一、脚本功能描述

上一个豆瓣案例(www.huoyuyan.com/community/d… ,保存的数据样式为:

783cefd7-b629-47a5-99a2-bf135e83fb8b.png 那么怎么样使用火语言把 B 列的合并数据(格式示例:2025 / 中国大陆 / 剧情 爱情 奇幻 / 杜林 / 成毅 李一桐),按 “年份 / 国家 / 类型 / 导演 / 演员” 的规则拆分,在原表格 B 列前插入 5 列,分别存放拆分后的结构化数据,并添加列标题,最终保存完整表格呢,如下图:

3ca4589e-efbb-49c8-963d-1dec8ddbc3db.png

那么下面为您完整讲解。

二、案例核心逻辑

1、打开原 Excel 文档,读取 B 列所有合并数据;
2、清理原表格冗余:删除原 B 列(因合并数据将拆分后重新存储);
3、在原 B 列位置插入 5 列,用于存放拆分后的 5 类数据;
4、循环遍历读取到的合并数据,按 “/” 拆分每个单元格内容;
5、将拆分后的单条数据逐行写入新插入的列中;
6、为新列添加 “年份、国家、类型、导演、演员” 表头;
7、保存并关闭 Excel,完成数据结构化。

三、完整操作流程

步骤 1:打开源 Excel 文档(读取待处理数据)

案例演示Excel:
**附件:豆瓣TV.xlsx 下载后,文件名改成豆瓣TV.xlsx

组件名称:Excel打开文档,打开需要处理的Excel文档

a998d80e-12a1-43ca-acf0-4289cb289883.png

步骤 2:读取 B 列合并数据

组件名称,Excel读取内容,读取需要处理的B列数据,输出变量B列数据

226685ba-d787-46f4-9a43-f65a413b73ce.png

将原Excel表格中的B列数据:2025 / 中国大陆 / 剧情 爱情 奇幻 / 杜林 / 成毅 李一桐,按照分隔符 / ,拆分成5列,并插入到A/C中间。

步骤 3:删除原 B 列(清理冗余数据)

组件名称:Excel删除内容,删除原B列,为插入新列腾出位置:

93cfd51f-9a1d-4d79-94ce-06a38fc5e8fd.png

步骤 4:在原 B 列前插入 5 列(存放拆分后数据)

组件名称:Excel插入空列,用于后续写入数据:

8810b15a-882b-4137-935c-888bf7b73c4a.png

步骤 5:循环遍历数据并拆分(核心步骤)

组件 5.1:ForEach 循环,遍历 B 列数据,逐个拆分单元格内容

358a89d6-cad1-4ab2-b86b-95e43c5b81ab.png 在火语言 RPA 的「Foreach 循环」组件中,自动生成两个 “本级循环内的局部变量”:item(当前元素)和index(当前索引),只在这个循环内部生效,用来处理 “逐条遍历数据” 的逻辑。
一句话理解这两个默认变量:
item:就是 “当前正在处理的那条数据”(循环拿出来的单条内容)。
index:就是 “这条数据是第几条”(从 0 开始数的序号,记录进度)。

组件 5.2:字符串分割成列表,将 “2025 / 中国大陆 / 剧情 爱情 奇幻 / 杜林 / 成毅 李一桐” 拆分为 5 个独立元素,拆分后为 5 个元素的列表,依次对应年份、国家、类型、导演、演员。
配置细节:
源内容:item(当前循环的单条合并数据)
分隔符类型:自定义分隔符
自定义分隔符:/
输出变量:拆分后数据列表(如拆分后为[“2025”,”中国大陆”,”剧情”,”杜林”,”成毅”])

05c15119-2728-405b-816d-8e7a9081a934.png item 是循环过程中 当前元素的变量名,简单说就是 “当前正在处理的那条数据”。

比如 B 列有 10 条合并数据(像 “2025 / 中国大陆 / 剧情 / 杜林 / 成毅”“2024 / 美国 / 科幻 / 诺兰 / 汤姆”……)。
循环的时候,会一条一条处理这些数据。
处理第 1 条时,就给这条数据起个临时名叫 item
处理第 2 条时,这条新数据也叫 item
直到所有数据处理完。
所以在 “字符串分割” 这一步,“源内容” 写 item,意思就是:“把现在正在处理的这条数据(不管是第几条,此刻它就叫 item)按‘/’拆开”。
火语言变量相关www.huoyuyan.com/help/BasicC…
组件5.3:Excel 写入内容(将拆分数据写入新列)
配置细节:
写入位置:
起始列名:B
写入方式:覆盖
行号:index + 1(关键!index 从 0 开始,+1 后从第 1 行写入)
写入内容:拆分后数据列表(5 个元素自动写入 B-F 列,一一对应)

“index” 在这个流程里,简单说就是 “计数器” —— 专门记录 “当前正在处理第几条数据”,是循环自带的 “进度条”。

e3d6d9e6-ed88-4c1c-93d1-8f46e14be336.png

步骤 6:Excel 写入内容(添加表头,第 1 行)

组件名称:Excel 写入内容
配置细节
写入位置:
起始列名:B
写入方式:覆盖
行号:1(表头写在第 1 行)
写入内容:['年份','国家','类型','导演','演员']
火语言的 “Excel 写入内容” 组件,当你选择 “写入行” 时,需要用列表格式(方括号 [] 包裹)传递多个数据,且写入列也支持列表格式;组件会自动把数据列表里的每个元素,从你配置的 “行号” 对应的那一行开始,依次写入从 “起始列名” 开始的连续列中,无需逐列重复配置。
Sheet 页名称:Sheet1

8fb06968-3ba2-4433-8f47-ef1ab8b6eaea.png

步骤 7:Excel 关闭保存文档

86d01c41-db7e-4525-a306-d1689a89e790.png

案例脚本分享:
分享: www.huoyuyan.com/share.html?… 提取码: dxBd