用户:
昵称由1至20个字符组成查看:0 回复:2 评论:0 创建时间:2022-11-28T11:40:08
import jieba
# with open('name.ini', 'rt', encoding='utf-8')as fo:
# new_word = fo.read().split(',')
# fo.close()
a='艾AA,章北海,韦斯特,威纳尔,叶文洁,丁仪,泰勒,雷迪亚兹,希恩斯,山衫惠子,林格,斐兹罗,魏成,\
伊文斯,坎特,伽尔宁,罗辑,弗雷德里克·泰勒,弗里德里克·泰勒,曼努尔·雷迪亚兹,比尔·希恩斯,AA,天明,\
云天明,史强,大史,斯坦顿,常伟思,吴岳,艾伦,白Ice,瓦西里,维德,托马斯·维德,瓦季姆,白ICE,褚岩,\
东方延绪,弗雷斯,伽尔宁,歌者,关一帆,张援朝,杨晋文,苗福全,杨卫宁,雷志成,列文,井上明,蓝西,萨伊,\
申玉菲,潘寒,沙瑞山,杨冬,程心,潘寒,申玉菲,约瑟夫·莫沃维奇,莫沃维奇,叶哲泰,白沐霖,东方延绪,东方,\
韦斯特,朴义君'.split(',')
for i in new_word:
jieba.add_word(i)
with open('三体.txt', 'rt', encoding='utf-8') as fo:
a = jieba.lcut(fo.read())
fo.close()
counts = {}
a2 = []
for name in a:
if name in new_word:
a2.append(name)
for word in a2:
if len(word) == 1:
continue
elif word == '弗雷德里克·泰勒' or word == '弗里德里克·泰勒':
rword = '泰勒'
elif word == '曼努尔·雷迪亚兹':
rword = '雷迪亚兹'
elif word == '比尔·希恩斯':
rword = '希恩斯'
elif word == 'AA':
rword = '艾AA'
elif word == '天明':
rword = '云天明'
elif word == '史强':
rword = '大史'
elif word == '约瑟夫·莫沃维奇':
rword = '维德'
elif word == '莫沃维奇':
rword = '维德'
elif word == '东方' or word == '东方延绪':
rword = '东方延绪'
else:
rword = word
counts[rword] = counts.get(rword, 0) + 1
# for words in excepts:
# del counts[words]
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
with open('D:\\Downloads\\刘慈欣作品集\\三体出场词频统计.txt', 'wt') as fo:
for i in range(100):
try:
word, count = items[i]
if len(word) == 2:
print("{0:<10}\t{1:>5}".format(word, count))
fo.write("{0:<10}\t{1:>5}\n".format(word, count))
else:
print("{0:<10}{1:>5}".format(word, count))
fo.write("{0:<10}{1:>5}\n".format(word, count))
except IndexError:
break
fo.close()
# else:
# rword = word
# counts[rword] = counts.get(word, 0) + 1
# for word in excepts:
# del counts[word]
# items = list(counts.items())
# items.sort(key=lambda x: x[1], reverse=True)
# for i in range(15):
# word, count = items[i]
# print("{0:<10}{1:>5}".format(word, count))
# for i in range(30):
# word, count = items[i]
# print(f", '{word}'",end='')