求助---A文件中的词汇出现在B文件中的统计
大佬们帮帮我,因我的等级原因只能发布10个鱼币 谢谢。具体问题是:我有A和B两个UTF-8d的.txt文件分别实例如下:
A.txt
编号
03642179N
03719538N
...
B.txt
序号,内容,编号
AA,容貌,03642179N
BB,示例,03642179N
CC,标注,03719538N
DD,特征,03719538N
...
想要得到的结果是:
如果A.txt中的编号字段在B.txt的编号字段里,且大于1次以上,也就是频率大于1(不包含1次),那么把该编号在B.txt中 《序号》字段所包含的《英文字母》统一放在单独的一个[]里面。内容的《汉语内容》也是如此。
示例结果:
C
03642179N,,[容貌,示例]
03719538N,,[标注,特征]
谢谢您的帮助,在线等待,谢谢
本帖最后由 qbw941054510 于 2022-3-24 21:40 编辑
给一个大致的思路:
1. 用 set 存 A.txt 中的所有编号
2. 设一个 dict,键为编号,值为 list
3. 遍历 B.txt 的每一条,用 split 提取编号,如果编号在 set 中,那么存到 dict 里
4. 遍历 dict,按特定格式存到 C.txt
with open('a.txt', encoding='utf8') as f:
s = set(f.read().split('\n'))
d = {}
with open('b.txt', encoding='utf8') as f:
lines = f.read().split('\n')
for line in lines:
arr = line.split(',')
order, content, serial = arr, arr, arr
if serial in s:
if serial not in d:
d = {'order': [], 'content': []}
d['order'].append(order)
d['content'].append(content)
def get_str(item):
return '[' + ','.join(item) + ']'
with open('c.txt', mode='w', encoding='utf8') as f:
contents = []
for key in d.keys():
order, content = d['order'], d['content']
contents.append(','.join())
f.write('\n'.join(contents)) 新手,留步,学习 qbw941054510 发表于 2022-3-24 20:58
给一个大致的思路:
1. 用 set 存 A.txt 中的所有编号
2. 设一个 dict,键为编号,值为 list
哇哦,跟您学习,谢谢您的帮助啦,wish you have a nice day~
页:
[1]