You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在UiPath中按价格对比两个Excel文件的同款商品并导出低价项?

UiPath 实现Excel商品价格对比与最低价商品筛选

需求一:按价格对比两个Excel文件的唯一行

这里的「唯一行」分为两种场景,分别给出实现步骤:

场景1:对比两个文件内各自无重复的行

  1. 读取数据
    • 用Read Range活动分别读取两个目标Excel文件,将数据存入DataTable变量(如dt_FileA、dt_FileB),确保勾选「包含表头」。
  2. 去重得到唯一行
    • 对两个DataTable分别使用Remove Duplicates活动,去重依据选择能唯一标识行的列(比如「商品名称+商品URL」组合,或直接选所有列),得到去重后的dt_A_Unique、dt_B_Unique。
  3. 价格对比
    • 合并两个去重后的DataTable:新增「来源文件」列,用Add Data Column活动添加后,通过For Each Row给dt_A_Unique的每行标记「FileA」,dt_B_Unique标记「FileB」,再用Merge Data Table合并为dt_Combined。
    • 用Sort Data Table活动按「价格」列排序,即可直观对比所有唯一行的价格高低;也可以用For Each Row逐行对比,将结果写入新列或日志。

场景2:对比仅存在于单个文件的行(两个文件无交集的行)

  1. 读取数据:同场景1,得到dt_FileA、dt_FileB。
  2. 筛选独有的行
    • 用Join Data Table活动做左连接:左表选dt_FileA,右表选dt_FileB,连接键选唯一标识列(如商品URL),得到dt_LeftJoin。筛选dt_LeftJoin中右表列为空的行,即为仅在FileA存在的dt_A_Only。
    • 同理做右连接,筛选左表列为空的行,得到仅在FileB存在的dt_B_Only。
  3. 价格对比:同场景1的第三步,合并后排序或逐行对比。

需求二:筛选同款商品的最低价信息并写入新文件

核心是解决商品匹配和价格对比两个问题,步骤如下:

  1. 读取并预处理商品数据

    • 用Read Range读取两个店铺的Excel,得到dt_Shop1、dt_Shop2。
    • 新增「核心标识」辅助列:用Add Data Column添加后,通过For Each Row或Invoke Code清洗商品名称,提取同款判定的关键特征(比如型号、容量)。例如:
      • 对「Apple iPhone 14 Pro Max 256GB 深空黑」,用正则提取Regex.Match(row("商品名称").ToString, "iPhone \d+ Pro Max \d+GB").Value,得到「iPhone 14 Pro Max 256GB」作为核心标识。
      • 若价格列含符号(如$、¥),用row("价格").ToString.Replace("$", "").Replace("¥", "")清理后转换为Double类型,方便后续对比。
  2. 匹配同款商品

    • 精确匹配:用Join Data Table活动,以「核心标识」为连接键做内连接,得到包含同款商品的dt_Matched,每行同时拥有两个店铺的商品信息。
    • 模糊匹配:若商品名称差异大,用双层For Each Row循环遍历两个DataTable,通过String.Contains判断核心标识的重合度,或计算字符串相似度(如Levenshtein距离),符合阈值的视为同款,手动添加到dt_Matched。
  3. 筛选最低价商品

    • 初始化空DataTable变量dt_Lowest,结构与原表一致(商品名称、店铺URL、商品URL、价格)。
    • 用For Each Row遍历dt_Matched:
      • 提取两个店铺的价格数值:price1 = Double.Parse(row("价格_Shop1").ToString),price2 = Double.Parse(row("价格_Shop2").ToString)。
      • 对比价格:若price1 < price2,则将Shop1的商品信息(对应列的值)添加到dt_Lowest;反之则添加Shop2的信息。
  4. 写入结果文件

    • 用Write Range活动将dt_Lowest写入「最低价商品.xlsx」,确保勾选「包含表头」。

关键注意事项

  • 价格格式统一:必须确保两个文件的价格为纯数值,否则对比时会报错,读取后先做清理处理。
  • 匹配逻辑优化:根据平台商品名称的特点调整核心标识的提取规则,比如增加品牌、颜色等特征,提升匹配准确性。
  • 异常处理:在价格转换、文件读写等步骤添加Try Catch活动,捕获并处理格式错误、文件不存在等异常。

内容的提问来源于stack exchange,提问作者Palamar66

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 17:30:43