猫史档案馆


三体人物出场词频统计

用户:昵称由1至20个字符组成昵称由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='')


回复

上一页1 页 / 共 1下一页
昵称由1至20个字符组成昵称由1至20个字符组成

D:\\Downloads\\刘慈欣作品集\\三体出场词频统计.txt

填写你的三体.txt目录

点赞0


评论


1无敌工作室室长1无敌工作室室长

无敌工作室招人了

点赞0


评论