前言
给入门的朋友讲解用的。注释地非常清楚,应该很容易理解。
代码
import docx # 导入word文档处理python包
import jieba # 导入中文分词python包
# 打开我们的word文档
DOC_PATH = r".\drliu\一首诗.docx" # 记得更换为自己的word文档路径
file = docx.Document(DOC_PATH) # 打开文档
thesaurus = {} # 用一个字典当作词库,来记录我们统计出的结果
for i in range(len(file.paragraphs)):
line = file.paragraphs[i].text # 读入word文档的一行
# print(f"[{i}]:") # 打印行号
# print("\t" + line) # 打印本行
seg_list = jieba.cut(line) # 把这一行文字进行词语拆分,得到一个迭代器
# 遍历这一行的每个词
for word in seg_list:
# 检查我们的词库中是否以及存在这个词
if word in thesaurus.keys():
thesaurus[word] += 1 # 存在:词频+1
else:
thesaurus[word] = 1 # 不存在:词频更新为1
# print(thesaurus) # 打印词库
# 输出词库到txt文本
OUT_PATH = r".\drliu\result.txt" # 输出文件路径
with open(OUT_PATH, "w") as file:
# 给文档加一个标题吧
headline = "词汇\t词频\n"
file.write(headline)
file.write("-------------\n")
# 输出词库中的每一对词
for w, n in thesaurus.items():
file.write(f"{w}\t{n}\n")
参考链接
Python学习笔记(28)-Python读取word文本 - csdn
jieba分词-强大的Python 中文分词库 - zhihu
Python之字典添加元素 - csdn