import jieba from openpyxl import load_workbook from pyecharts.charts import WordCloud wb= load_workbook("D:\\行业信息.xlsx") ws=wb["行业信息"] def info_analysis( ws, col): ''' 返回xlsx工作表中某一列分词后的统计结果 :param ws:工作表 :param col:工作表中的某列 :return:分词字典,键值分别表示分词及其出现的次数 ''' col_list=[ item.value for item in ws[ col][1:]]#表示工作表 ws 第 col 列的数据,并去掉表头 col_str=",". join( col_list) #将列表合并成字符串 words= jieba.lcut( col_str) #对字符串进行分词 lcut_dict={} #用于统计分词的字典 for word in words: if Len(word) ==1: #分词长度为1时不予统计 continue else: lcut_dict[word]= lcut_dict.get(word,0)+1 require_dict= info_analysis( ws,"E") #对招聘要求进行分词统计 welfare_dict= info_analysis( ws,"F") #对企业福利进行分词统计 require_wc=(WordCloud( ) #绘制词云图存储在require. html中 .add("招聘要求",require_dict.items( )) .render("D:\\require.html") ) welfare_wc=(WordCloud( ) #绘制词云图存储在welfare. html中 .add("企业福利",welfare_dict.items( )) .render("D:\\welfare.html") ) print("词云图绘制成功") return lcut_dict 修改代码
时间: 2024-02-22 09:58:46 浏览: 73
您需要将函数调用放到函数外部或将函数定义在外部,可以按照以下代码进行修改:
```python
import jieba
from openpyxl import load_workbook
from pyecharts.charts import WordCloud
def info_analysis(ws, col):
'''
返回xlsx工作表中某一列分词后的统计结果
:param ws:工作表
:param col:工作表中的某列
:return:分词字典,键值分别表示分词及其出现的次数
'''
col_list = [item.value for item in ws[col][1:]] #表示工作表 ws 第 col 列的数据,并去掉表头
col_str = ",".join(col_list) #将列表合并成字符串
words = jieba.lcut(col_str) #对字符串进行分词
lcut_dict = {} #用于统计分词的字典
for word in words:
if len(word) == 1: #分词长度为1时不予统计
continue
else:
lcut_dict[word] = lcut_dict.get(word, 0) + 1
return lcut_dict
wb = load_workbook("D:\\行业信息.xlsx")
ws = wb["行业信息"]
require_dict = info_analysis(ws, "E") #对招聘要求进行分词统计
welfare_dict = info_analysis(ws, "F") #对企业福利进行分词统计
require_wc = (WordCloud() #绘制词云图存储在require. html中
.add("招聘要求", require_dict.items())
.render("D:\\require.html")
)
welfare_wc = (WordCloud() #绘制词云图存储在welfare. html中
.add("企业福利", welfare_dict.items())
.render("D:\\welfare.html")
)
print("词云图绘制成功")
```
另外,注意到代码中 `Len` 应该为 `len`,大小写拼写错误会导致程序报错。
阅读全文
相关推荐


















