鱼C论坛

 找回密码
 立即注册
查看: 2384|回复: 5

[已解决]A文件里的词汇 在B文件中的词频统计

[复制链接]
发表于 2020-11-10 11:03:50 | 显示全部楼层 |阅读模式
7鱼币
本帖最后由 Amgalang 于 2020-11-10 11:04 编辑

各位鱼友大家上午好,我的小问题希望您能给予支持,真心感谢......

我有A,B两个文件其内容如下:
        A.txt
                词汇,编码
                二月,10923216N
                方式,00111872N
                方式,00266480N
                方式,03856995N
        B.txt
                编码
                10923216N
                00111872N
                00266480N
                00266480N
                03856995N
问题:
求A文件里的编码在B文件里的词频,生成的效果如下所示:
        C.txt
                词汇,编码,词频
                二月,10923216N,1
                方式,00111872N,1
                方式,00266480N,2
                方式,03856995N,1
再次感谢,因为等级原因我只能发几个鱼币,希望海涵。
最佳答案
2020-11-10 11:03:51
本帖最后由 jackz007 于 2020-11-10 13:53 编辑
fa , fb = open('a.txt') , open('b.txt')
da , db = list(fa) , list(fb)
fa . close() ; fb . close()
dc = [0] * len(da)
for ax in range(1 , len(da)):
    for bx in range(1 , len(db)):
        if db[bx] . strip() in da[ax] . strip() . split(','):
            dc[ax] += 1
with open('c.txt' , 'wt') as fc:
    fc . write('词汇,编码,词频\n')
    for ax in range(1 , len(da)):
        fc . write(da[ax] . strip() + ',' + str(dc[ax]) + '\n')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-10 11:03:51 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-11-10 13:53 编辑
fa , fb = open('a.txt') , open('b.txt')
da , db = list(fa) , list(fb)
fa . close() ; fb . close()
dc = [0] * len(da)
for ax in range(1 , len(da)):
    for bx in range(1 , len(db)):
        if db[bx] . strip() in da[ax] . strip() . split(','):
            dc[ax] += 1
with open('c.txt' , 'wt') as fc:
    fc . write('词汇,编码,词频\n')
    for ax in range(1 , len(da)):
        fc . write(da[ax] . strip() + ',' + str(dc[ax]) + '\n')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-10 11:51:28 | 显示全部楼层
import re
dict1={}
with open ("B.txt","r",encoding="utf8") as file1:
    lines=file1.readlines()
    for line in lines:
        if re.search(r'\d+N',line.strip()):
            if line.strip() in dict1:
                dict1[line.strip()]+=1
            else:
                dict1[line.strip()]=1
with open ("C.txt","w",encoding="utf8") as file3:
    file3.write("词汇,编码,词频\n")
    with open ("A.txt","r",encoding="utf8") as file2:
        lines=file2.readlines()
        for line in lines:
            info=line.strip().split(',')
            if re.search(r'\d+N',info[1]):
                if info[1] in dict1:
                    file3.write(line.strip()+","+str(dict1[info[1]])+"\n")
                    print(line.strip()+",",dict1[info[1]])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-11-10 13:51:03 | 显示全部楼层

谢谢您的 回复 有点受宠若惊, 再次感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-11-10 13:52:10 | 显示全部楼层

哇,真心感谢您了,我学到了很多,我刚看见一行能打开两个文件 哈哈哈,再次感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-11-10 13:54:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 22:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表