快捷导航
本帖最后由 ym 于 2017-5-17 15:55 编辑

常见问题 > XML结果文件查看及导入excel > 如何在excel中合并多层级采集结果

第一步:把数据导入Excel中
      首先将两级规则的xml数据文件分别导入excel中,如图1和图2所示。注意:下面的例子是将两级规则的采集结果整合到一个excel表中,但此方法也适用于其他Excel表的合并处理。
1.png
1 列表
2.png
2 详细

第二步:寻找关联字段
      找到可以把两个数据表关联在一起的唯一性字段。本案例是用了网址,比如图1‘列表’的字段<第二级网址>和图2‘详细’的字段<realpath>是一 一对应的网址,都是表示第二级页面的网址,并且该字段信息具有唯一性,即两者是一 一对应的关系,所以我们可以根据这两个字段来合并两个Excel表。

Tips:关于VLOOKUP函数
      我们在这里使用Excel的VLOOKUP函数,它是按列查找,在查找区域的第一列搜索要查找的值,找到该值所在的行之后,然后以查找区域的第一列为基准,往后推数,查找第N列所对应的值并返回。语法为:
      =VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数
简单说明
输入数据类型
lookup_value
要查找的值
数值、引用单元格或文本字符串
table_array
要查找的区域
数据表区域
col_index_num
返回值在查找区域的第几列数
正整数
range_lookup
模糊匹配/精确匹配
TRUE/FALSE
    注意:lookup_value查找值必须是在table_array查找区域的第一列。另外,range_lookup通常是选择精确匹配FALSE,查找完全一样的值。

第三步:写函数
      如图1和图2所示,我们要将‘详细’表中的<店名>和<所在地区>这两列合并到‘列表’表中,则要在‘列表’表的D2单元格输入函数 =VLOOKUP(C2,详细!A:C,2,FALSE),表示要在‘详细’表中的A:C区域内的第1列(A列)查找出与‘列表’表的C2单元格相对应的那一行,然后把第2列(B列)的数据值返回给‘列表’表的D2单元格。
      点击‘列表’表的D2单元格右下角的+号,往下拖动就会填充一整列,如图3所示,‘详细’表中的<店名>都对应匹配到“列表”表的<名称>里。
3.png
3

      同样在‘列表’表的E2单元格里输入函数 =VLOOKUP(C2,详细!A:C,3,FALSE) 来匹配‘详细’表中的<所在地区>一列,表示要在‘详细’表中的A:C区域内的第1列(A列)查找出与‘列表’表的C2单元格相对应的那一行,然后把第3列(C列)的数据值返回给‘列表’表的E2单元格。并点击E2右下角+号自动填充一整列。
      最后人工补充好D列和E列的字段名,就可以看到完整的合并结果,如图4所示。
4.png
4

    注意:三级甚至更多级采集结果也可用同样方法合并。


举报 使用道具
| 回复

共 14 个关于本帖的回复 最后回复于 2017-6-30 01:57

sunny8989 新手上路 发表于 2016-1-20 14:47:53 | 显示全部楼层
有点复杂,能不能出个视频详解一下?
举报 使用道具
gsk117520 中级会员 发表于 2016-6-1 10:30:41 | 显示全部楼层
好文,正愁找不到办法合并
举报 使用道具
lyuyong 初级会员 发表于 2016-10-7 13:55:12 | 显示全部楼层
还是没有实现这功能
举报 使用道具
lyuyong 初级会员 发表于 2016-10-7 14:28:37 | 显示全部楼层
终于实现。有一个地方需要注意,那就是要匹配的列必须包含在扫描的范围中。
举报 使用道具
lisongqiu 新手上路 发表于 2016-10-26 11:37:14 | 显示全部楼层
这事excel教程啊
举报 使用道具
HJLing 版主 发表于 2016-10-26 11:50:00 | 显示全部楼层

这篇教程的题目叫做 如何在excel中合并多层级采集结果

举报 使用道具
popper 初级会员 发表于 2016-11-13 13:30:53 | 显示全部楼层
好多坑,匹配二级链接必须非常严格,也就是一对一,一级抓取次序与二级抓取次序错开,也不行,如果出现一个单元格不匹配,就失败,出现N/A,太死板了
举报 使用道具
popper 初级会员 发表于 2016-11-13 13:33:11 | 显示全部楼层
我的翻页和层级抓取,并不确保一次性抓取成功,常有中断,一级抓取与层级抓取的excel,有时做不到一对一,做vlookup()不成功
举报 使用道具
popper 初级会员 发表于 2016-11-13 13:36:30 | 显示全部楼层
做不到程序上,先比对,再添加,excel 的vlookup()第一个对比可以,第二个如果比对不上,就停止
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • 深圳市咨询投诉分析
  • 去资源库下载规则,轻松抓数据
  • 下载安装Gooseeker爬虫软件
  • 【第60期】集搜客爬虫入门
  • 爬虫能做什么?

热门用户

集搜客GooSeeker网络爬虫 ( 粤ICP备11065265号-2 )

GMT+8, 2017-7-24 12:48