ddgw.net
当前位置:首页 >> python如何去除重复行并写入另一个文件 >>

python如何去除重复行并写入另一个文件

问题描述的并不准确 要看重复行是连续的还是非连续的 如果是连续的, 可以考虑缓存一行, 然后把后面的行与缓存的行比较, 如果不是,那就得缓存所有不同的行, 每次读一行就要与所有缓存过的行做比较了,伪代码如下:#coding=utf-8 fin

lines_seen = set() outfile = open("2.txt","w")for line in open("1.txt","r"): if line not in lines_seen: outfile.write(line) lines_seen.add(line)outfile.close()代码

不考虑行的顺序的话,可以借用集合过滤重复行.

python的速度效率是不高的,如何对速度要求比较高的话建议可以用c来写.我写了这个代码,python2.6+windows xp测试通过.希望能帮到你~===================================================a=[] #初始化要用到的列表a,用于

除开读写文件,去重:去重后的list = list(set(原list))

内容读出来通过逗号分割成一个列表,再去掉重复的,再写入到文件里面 # -*- coding:utf-8 -*-filename = 'data.txt'with open(filename, 'r') as f: content = f.read() content = list(set(content.split(','))) content = ','.join(content) with open(filename, 'w') as _f: _f.write(content)

1. 把所有的这些txt文件放到一个文件夹里2. 打开cmd, 进入到这个放了多个txt的文件夹, 运行命令copy *.txt all.txt3. 在该文件夹下创建一个python脚本 1.py, 将下列代码复制进去# coding=utf-8# using python27file_path = 'all.txt'with open(file_path

我给你个小例子把:>>> arr=['aaa','bbb','ccc','aaa','ddd','bbb']>>> a1=set(arr)>>> a2=[i for i in a1]>>> a2['aaa', 'bbb', 'ccc', 'ddd']可以去除重复的元素.当然你也可以用字典来做,把每一行值作为索引,随后输出字段的所有keys就行了,也去除了重复还可以定义个数组,循环文件的行,如果某行不在数组内,就append进去,在就跳过.这个也可以搞定[ 本帖最后由 xiaoyu9805119 于 2008-8-22 17:21 编辑 ]

你好:一般是:一边读文本文件,一边将行存入数组;然后对读取的下一行数据,与数组中的数据做对比,如果重复,就舍弃;;最后就爱那个数组中的数据写入文件;

# -*- coding: utf-8 -*-## python 2.7fp1 = file('', 'r')fp2 = file('', 'r')fp3 = file('', 'w')d1 = {}d2 = {}isFirst = Truefor line in fp1: if not isFirst: d1[hash(line)] = line else: isFirst = Falsefp1.close()isFirst = Truefor line in fp2: if not isFirst: d2[hash(line)] = line else:

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.ddgw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com