免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2474 | 回复: 9
打印 上一主题 下一主题

求数据处理大牛指教... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-14 16:10 |只看该作者 |倒序浏览
之前一直在用awk处理数据库文件里的数据
现在处理出的文件是这样:
商品名         属性        属性值
commodity1    A               a
commodity1    A               b
commodity1    A               c
commodity1    B               a
commodity1    B               b
commodity1    B               c
commodity1    C               a
commodity1    C               b
commodity1    C               c

要做的工作是 把属性值取值类似的属性名 合并(因为有些属性只是描述方式不同,取值还是一样的,所以需要合并,比如产地和特产产地)
也就是说 对上面文件中  commodity1的A\B\C属性因为取值相似(都含有a、b、c)所以最终把ABC三种属性合并为A 取值就是a、b、c

我现在的问题是 不知道怎么把握“相似”这个概念
比如 数据是这样:
豆浆机  大全豆浆机型号   8015
豆浆机  大全豆浆机型号   DQ-8011
豆浆机  大全豆浆机型号   DQ-8018
豆浆机  大全豆浆机型号   DQ-8020
豆浆机  东菱豆浆机型号   BL-9233
豆浆机  东菱豆浆机型号   BL-9240A
豆浆机  东菱豆浆机型号   BL-9240C
豆浆机  东菱豆浆机型号   DN-168
豆浆机  东菱豆浆机型号   XB-9186A
豆浆机  东菱豆浆机型号   XB-9186BH
豆浆机  东菱豆浆机型号   XB-9186C
豆浆机  东菱豆浆机型号   XB-9186H
豆浆机  东菱豆浆机型号   XB-9186T
豆浆机  东菱豆浆机型号   XB-9186h(银)

按照要求 我应该要把这些XX豆浆机型号全部合并为型号  这该怎么做呢?。。用awk可以吗?请大家帮忙 给点灵感...

论坛徽章:
0
2 [报告]
发表于 2011-09-14 16:12 |只看该作者
不好意思没看懂。。。

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
3 [报告]
发表于 2011-09-14 16:36 |只看该作者
这样?
豆浆机  大全豆浆机型号   8015 DQ-8011 DQ-8018 ...

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
4 [报告]
发表于 2011-09-14 16:44 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2011-09-14 16:55 |只看该作者
回复 3# liion631818


    恩对的  这个问题我自己没什么思路 想得千头万绪的 所以描述得不清楚  谢谢你耐心看完没说风凉话 呵呵呵

论坛徽章:
0
6 [报告]
发表于 2011-09-14 17:02 |只看该作者
回复 3# liion631818


    难点就是  豆浆这个商品 还有别的属性 比如净含量、卫生许可编号、产地等等,这些属性的取值肯定跟型号不同了,那么怎么区别呢。。怎么在豆浆的各种属性值里面,把“XX豆浆机型号”这些属性值描述相似的属性都筛选出来。如果光对豆浆处理还好说,“XX豆浆机型号”的取值都是字母、数字中间还有“-”,但是数据库里还有别的商品,想一种通用的、适用其他商品办法,很难啊。。

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
7 [报告]
发表于 2011-09-14 17:08 |只看该作者
回复  liion631818


    恩对的  这个问题我自己没什么思路 想得千头万绪的 所以描述得不清楚  谢谢你 ...
parrot18 发表于 2011-09-14 16:55



    这个没事啦,大家只是开个玩笑,当放松的,呵呵,你需求清楚了,大家会很乐意帮你的

论坛徽章:
0
8 [报告]
发表于 2011-09-14 17:10 |只看该作者
回复 7# liion631818


    呵呵 大概还是得做一下数据调研才能确定方案 谢了哈

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
9 [报告]
发表于 2011-09-14 17:13 |只看该作者
本帖最后由 liion631818 于 2011-09-14 17:16 编辑

回复 8# parrot18

大概是这样的,你把的数据选有代表的贴几段出来,然后把你想要的结果也贴出来,这样大神们就会动手帮你解决了,至于
你提到的各种问题怎样解决那不就是他们的事了么,你等结果就好了。问题解决后自己在学习下

  1. awk '{a[$1" "$2]=a[$1" "$2]" "$3}END{for(i in a)print i, a[i]}'

  2. 豆浆机 东菱豆浆机型号  BL-9233 BL-9240A BL-9240C DN-168 XB-9186A XB-9186BH XB-9186C XB-9186H XB-9186T XB-9186h(银)
  3. 
  4. 豆浆机 大全豆浆机型号  8015 DQ-8011 DQ-8018 DQ-8020
复制代码

论坛徽章:
0
10 [报告]
发表于 2011-09-14 17:16 |只看该作者
回复 9# liion631818


    呵呵  好的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP