#该程序读入D:/data_temp下的所有docx文件,并实现词频统计
#输出每个文档的单词频数,并进行绘图
#docx
import os
import docx
from pyecharts.charts import Bar
from pyecharts import options as opts
words=['security','as','nation','百度','law']
def getFileName(path):
filename = []
f_list = os.listdir(path)
for i in f_list:
if os.path.splitext(i)[1] == '.docx':
filename.append(i)
return filename
lsdir=os.listdir('d:/data_temp')
for file in lsdir:
data = []
#print(getFileName('d:/'))
doc1=r'd:/data_temp/%s'%file
document=docx.Document(doc1)
#print(document.paragraphs[0].text)
for i in range(len(document.paragraphs)):
para=document.paragraphs[i].text.replace('\r',' ').replace('\n',' ').replace('(',' ').replace(')',' ').replace(',',' ').replace('.',' ').strip().lower().split(' ')
data.extend(para)
#print(data)
new_dict = {}
for strs in data:
if strs in new_dict.keys():
new_dict[strs] = new_dict[strs]+1
else:
new_dict[strs] = 1
#count_list=sorted(new_dict.items(),key=lambda x:x[1],reverse=True)
plot_name=[]
plot_value=[]
lists=[]
for k in words:
if k in new_dict:
plot_name.append(k)
plot_value.append(new_dict[k])
print("%s"%file+" 单词 "+"%s"%k+" 的出现频数为 "+"%s"%new_dict[k]+" 次")
else:
print("%s"%file+" 单词 "+"%s"%k+" 未出现!")
plot_name.append(k)
plot_value.append(0)
bar=Bar()
bar.add_xaxis(plot_name)
bar.add_yaxis("词语出现次数", plot_value)
#bar.add("词语出现次数", plot_name,plot_value,is_label_show=True, is_datazoom_show=False, xaxis_rotate=30)
bar.set_global_opts(title_opts=opts.TitleOpts(title="词频统计"))
file_abb=file.replace('\.docx','')
name="%s"%file_abb+"-"+"汇总词频统计"
bar.render('%s.html'%name)
for k in range(len(plot_name)):
lists.append([plot_name[k],plot_value[k]])
with open('%s.txt'%name,'w') as f:
f.write('词语,频数'+'\n')
for i in lists:
i=str(i).strip('[').strip(']').replace('\'','')
#print(i)
f.write(i+'\n')
Python: Word(docx)文档词频统计
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 首先,在cmd中输入命令行pip install python-docx,下载安装模块python-docx: 输...
- 词频计算部分 原数据从mysql中获取. 我要统计返回行tag属性中包含的tag词频。 返回数据的每一个row都是...
- 准备工作 首先安装好python(本文默认版本为3.6) 搭建python运行环境,加载第三方扩展库 准备好打算统...