文本重复率python

问:如何用python统计文本中重复行的数目?
  1. 答:这个应该不难
    先取出一行,存入字典key value=0
    然后next 后面一行判断是不是在字典的key里,如果在key里,value+1
    完了就结束了,这了字典就是结果
    一开始想用用二维数组,好像不好理解,字典好处理一点
问:python比较txt文档中每行文本之间重复词的个数
  1. 答:读文件可以使用open函数 readlines函数卖取所有行
    使用split把行的内容分成词
    使用set(a.split(' '))转换成元组
    然后两个元组 用 & 可以求得交集
    再使用len()就可以求得重复的个数
    line1 = '颜色 衣服 简单 适合 大方 质量 款式 舒服 挺 穿 穿着'
    line2 = '挺 服务 衣服 态度 快 蛮 合身 质量 物流 服务态度 好 老板'
    jiaoji = set(line1.split(' ')) & set(line2.split(' '))
    print(jiaoji)
    print('重复词数:',len(jiaoji))
    输出为
    {'衣服', '挺', '质量'}
    重复词数: 3
问:C语言什么软件能够查出两个.c程序是否是抄袭?查重软件运行的原理是什么?
  1. 答:如果是两个源代码文件进行比较,实质上是文本比较,两个文本的相似度分析目前没有看到相关的算法,只有特征匹配来比较相似度。查重软件是比较两边目录的文件指纹数字来判断文件是否是重复的,比如比较文件的md5值。
  2. 答:可以使用antiplag ,来对c/c++,java,python等代码查重。查重的原理基本是文本相似度比较,不过对程序代码,一般会进行语法解析后,再比较。
问:急求:如何用python删除文本中的重复行?
  1. 答:发这种问题竟然是截图...没调试过,将就着看吧,主要意思就是通过set方法去除重复项
    f = open(file, 'r')
    ListOfLine = f.read().splitline()
    ListOfLine = list(set(ListOfLine))
    f.close()
    f = open(file, 'w')
    f.writelines(ListOfLine)
    f.close()
  2. 答:你好:
    一般是:
    一边读文本文件,一边将行存入数组;
    然后对读取的下一行数据,与数组中的数据做对比,
    如果重复,就舍弃;;
    最后就爱那个数组中的数据写入文件;
问:python去除文本中重复的字符串
  1. 答:output=[]
    with open('a.txt') as fp:
        lines=fp.readlines()
        for i in lines:
            if i not in output:
                output.append(i)
    with open('b.txt','w',encoding='utf-8') as fp1:
        for i in output:
            fp1.write(i)
    虽然已经几年过去了,还是写一下吧。以防刚好有人搜到。
    Thx.
  2. 答:你的数据都是一行一行的吗?
    是的话这样试试
    input = open("a.txt", "r").read()
    output = open("b.txt", "w+")
    patterns = []
    for line in input.split("\n"):
        if line not in patterns:
            print line
            patterns.append(line + "\n")
    for pattern in patterns:
        output.write(pattern)
    output.close()
     测试了下满足你的输入输出
问:用python找出一个txt文件中的重复数据,并将重复数据输出成另一个txt文件
  1. 答:假设你的文件名是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()
  2. 答:python 3.6,假设:源文件是 A.txt,处理后输出到B.txt
    listA = open('A.txt', 'r').readlines()  # 读文件
    setB=set()
    for x in listA:
        if listA.count(x) > 1:
            setB.add(x)
    fB = open('B.txt', "w") 
    fB.writelines(setB)  # 写文件
    fB.close()
问:python多个文本组合后去除重复项
  1. 答:最简单的是,定义一个list(list可以装的元素数量应该是可以满足需求的,如果数据确实太高,考虑文件数量分组进行)
    然后将所有文件的内容逐行读到这个list中,用list自带的去重方法listname=list(set(listname)),进行去重。
    最后将整个List写入到d.txt中就可以了
问:如何在python中统计数字在文本中出现的次数
  1. 答:import re
    text="""123 we are -3.13,
    and 342 or 58.48
    """
    reg=pile(r"(-)?\d+(\.\d+)?")
    repl,quanity=reg.subn("\t",text)
    print("共有数字:%d个"%quanity)
    执行结果:
    >>>
    共有数字:4个
  2. 答:一楼稍改:
    import re
    text="""123 we are -3.13,
    and 342 or 58.48
    """
    reg=pile(r"((-)?\d+(\.\d+)?)")
    finded = map(lambda n:n[0], reg.findall(text))
    print finded, len(finded)
    执行结果:
    >>>
    ['123', '-3.13', '342', '58.48'] 4
问:python 计算文本之间的相似性
  1. 答:把文件读出来,不就是文本了吗,就可以用上你说的比较两个文本的代码了
问:求可以测试python的圈复杂度和重复率的软件。。。
  1. 答:pygenie
    PyMetrics
    中文搜"用 Python 编写干净、可测试、高质量的代码"
点击进入下载PDF全文

相关文章

QQ咨询