免费注册 查看新帖 |

Chinaunix

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

[文本处理] 数据结构的处理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-12-11 21:18 |只看该作者 |倒序浏览
有一个文件file: (tab分隔)
In  B2
Uns   B2
Uns   B2
Sp    B2
In   B2
Uns   S1
In   S1
In   S1
In   S1
Sp   H2

想要根据第二列分组,算出第一列相应的总和,结果如下:(tab分隔)
2   In   B2
2   Uns   B2
1   Sp   B2
3   In   S1
1   Uns   S1
1   Sp   H2

请大神指点!!

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

论坛徽章:
0
3 [报告]
发表于 2014-12-11 22:45 |只看该作者
  1. [root@localhost tmp]# cat a
  2. In  B2
  3. Uns   B2
  4. Uns   B2
  5. Sp    B2
  6. In  B2
  7. Uns   S1
  8. In   S1
  9. In   S1
  10. In   S1
  11. Sp   H2
  12. [root@localhost tmp]# python b.py
  13. 1 Sp   H2

  14. 1 Uns   S1

  15. 2 In  B2

  16. 1 Sp    B2

  17. 3 In   S1

  18. 2 Uns   B2

  19. [root@localhost tmp]# cat b.py
  20. #!/usr/bin/env python
  21. with open('a') as c:
  22.         a=c.readlines()
  23.         b={}
  24.         for i in a:
  25.            if i not in b.keys():
  26.                 b[i]=1
  27.            else:
  28.                 b[i]=b[i]+1

  29.         for k,v in b.iteritems():
  30.                 print v,k


  31. [root@localhost tmp]#




复制代码

论坛徽章:
0
4 [报告]
发表于 2014-12-12 17:19 |只看该作者
这样的结果嘛?
      2 In      B2
      1 Sp      B2
      2 Uns     B2
      1 Sp      H2
      3 In      S1
      1 Uns     S1
  1. sort -k2,2 test | uniq -c | sort -k3,3 -k2,2
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP