knrt.net
当前位置:首页 >> python如何合并多个txt文件删除所有重复行并生成新... >>

python如何合并多个txt文件删除所有重复行并生成新...

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

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

这里首先打开 a.txt 读取每一行,把每一行的内容作为字典的 key,然后字典的 value 记录的是重复行出现的次数,d.get 就是取目前的字典的行出现次数的值,默认为 0 就是没有出现,每次出现 +1 然后循环这个字典,如果 key 对应的 value 大于 1 ...

with open(r'foo.txt', 'r') as f: text = f.read() lines = sorted(text.splitlines(), cmp=(lambda a, b: ord(a[4])-ord(b[4]) if a[4]!=b[4] else 1 if (a.split()[2]>b.split()[2]) else -1))

1.如果你的txt 文件不大的话 可以直接 tmp = open('**.txt').readlines() #把内容一次性全部读取出来 是一个列表set(tmp) #这个就是把列表 去重复 然后 你可以把 这个去重后的tmp 写入到新的文件2.txt很大,那么只能一行一行的读取去重了#!/usr/...

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()代码

假设你的文件名是a.txt,写到b.txt d = {}for line in open('a.txt'): d[line] = d.get(line, 0) + 1 fd = open('b.txt', 'w')for k, v in d.items(): if v > 1: fd.write(k)fd.close()

看上去可以最后来加,因为只需要加到每行的开始就可以了。 所以第一个问题答案是“不是”,应该是最后来加的。

20rmb帮写 私信 测试后付

你的原始需求是啥? 这些文件用来进行什么样的处理? 一定要合并再拆分么?

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