免费注册 查看新帖 |

Chinaunix

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

求助如何处理重复数据??????? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-25 09:32 |只看该作者 |倒序浏览
我从一个SPD文件里面读取数据,但里面有许多重复的数据了,比如:
X    Y    BIN     A1           A2
1   23    7      0.023    0.837
1   23    6      0.17      0.75
1   24    5      0.20      0.68

我就想只取后面那次的数据, 想得到这样的结果:

X    Y    BIN     A1           A2
1   23    6      0.17      0.75
1   24    5      0.20      0.68


我用python是一行一行分别把X,Y,BIN,A1,A2的数据读出来的
现在不知道,当把数据写进文件里时,如何覆盖重复的X,Y的值

请各位帮帮忙呀。。。。。。。。。。。。。。。。。。。。。。。。

我就是不知道每行把数据读出来后,当写入新文本时该如何去判断重复的X,Y了。。。。。

论坛徽章:
0
2 [报告]
发表于 2010-11-25 10:05 |只看该作者
杂就没人理我呢。。。。。。。。
我是个初学者,还请各位多多指教了。。。。。。

论坛徽章:
0
3 [报告]
发表于 2010-11-25 11:49 |只看该作者
读出来以后先把重复行去掉,再写入文件

论坛徽章:
0
4 [报告]
发表于 2010-11-25 13:20 |只看该作者
可以用shell先处理一下
类似于  :  cat  test.file | sort | uniq > result

论坛徽章:
0
5 [报告]
发表于 2010-11-25 19:52 |只看该作者
  1. import re
  2. f = open('testdata.txt')
  3. header = f.readline()
  4. content = f.readlines()
  5. d = {}
  6. for item in content:
  7.   temp = re.split(r'\s+',item,2)
  8.   d[(temp[0],temp[1])] = temp[2]

  9. print(d)
复制代码

论坛徽章:
0
6 [报告]
发表于 2010-11-25 21:19 |只看该作者
把文件每一行放进list,然后set(list)

当然,文件不能太大,太大的话分多次

论坛徽章:
0
7 [报告]
发表于 2010-11-26 11:16 |只看该作者
把文件每一行放进list,然后set(list)

当然,文件不能太大,太大的话分多次
starzhestarzhe 发表于 2010-11-25 21:19



    它是部分重复,set无效

论坛徽章:
0
8 [报告]
发表于 2010-11-26 11:32 |只看该作者
回复 7# donotblock


    那就加一个字典变量,在字典变量里实现去重

论坛徽章:
0
9 [报告]
发表于 2010-11-29 15:55 |只看该作者
恩,问题已经解决了,谢谢大家。。。。。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP