鱼C论坛

 找回密码
 立即注册
查看: 2791|回复: 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 编辑
  1. fa , fb = open('a.txt') , open('b.txt')
  2. da , db = list(fa) , list(fb)
  3. fa . close() ; fb . close()
  4. dc = [0] * len(da)
  5. for ax in range(1 , len(da)):
  6.     for bx in range(1 , len(db)):
  7.         if db[bx] . strip() in da[ax] . strip() . split(','):
  8.             dc[ax] += 1
  9. with open('c.txt' , 'wt') as fc:
  10.     fc . write('词汇,编码,词频\n')
  11.     for ax in range(1 , len(da)):
  12.         fc . write(da[ax] . strip() + ',' + str(dc[ax]) + '\n')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-10 11:03:51 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-11-10 13:53 编辑
  1. fa , fb = open('a.txt') , open('b.txt')
  2. da , db = list(fa) , list(fb)
  3. fa . close() ; fb . close()
  4. dc = [0] * len(da)
  5. for ax in range(1 , len(da)):
  6.     for bx in range(1 , len(db)):
  7.         if db[bx] . strip() in da[ax] . strip() . split(','):
  8.             dc[ax] += 1
  9. with open('c.txt' , 'wt') as fc:
  10.     fc . write('词汇,编码,词频\n')
  11.     for ax in range(1 , len(da)):
  12.         fc . write(da[ax] . strip() + ',' + str(dc[ax]) + '\n')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-10 11:51:28 | 显示全部楼层
  1. import re
  2. dict1={}
  3. with open ("B.txt","r",encoding="utf8") as file1:
  4.     lines=file1.readlines()
  5.     for line in lines:
  6.         if re.search(r'\d+N',line.strip()):
  7.             if line.strip() in dict1:
  8.                 dict1[line.strip()]+=1
  9.             else:
  10.                 dict1[line.strip()]=1
  11. with open ("C.txt","w",encoding="utf8") as file3:
  12.     file3.write("词汇,编码,词频\n")
  13.     with open ("A.txt","r",encoding="utf8") as file2:
  14.         lines=file2.readlines()
  15.         for line in lines:
  16.             info=line.strip().split(',')
  17.             if re.search(r'\d+N',info[1]):
  18.                 if info[1] in dict1:
  19.                     file3.write(line.strip()+","+str(dict1[info[1]])+"\n")
  20.                     print(line.strip()+",",dict1[info[1]])
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

谢谢您的 回复 有点受宠若惊, 再次感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

哇,真心感谢您了,我学到了很多,我刚看见一行能打开两个文件 哈哈哈,再次感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-11-10 13:54:13 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-29 10:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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