From 46bbc003172314ec5ff2255fd619dbb22fdc859f Mon Sep 17 00:00:00 2001 From: juanboy <2980526980@qq.com> Date: Tue, 2 Jul 2024 20:49:26 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90getTableData.py=E3=80=91=E6=83=85?= =?UTF-8?q?=E6=84=9F=E5=88=86=E6=9E=90=E6=8E=A5=E7=AE=A1=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=9A=84=E5=87=BD=E6=95=B0=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/getEchartsData.py | 56 +++++++++++++++++++++++++++++++++++++++++ utils/getTableData.py | 21 ++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 utils/getTableData.py diff --git a/utils/getEchartsData.py b/utils/getEchartsData.py index f4a3cde..771e1be 100644 --- a/utils/getEchartsData.py +++ b/utils/getEchartsData.py @@ -152,3 +152,59 @@ def getCommentCharDataTwo():# 统计评论数据中不同性别的数量 }) return resultData +def getYuQingCharDataOne():# 统计热词中正面、中性、负面的数量 + hotWordList = getAllHotWords() + xData = ['正面','中性','负面'] + yData = [0,0,0] + for word in hotWordList: + emotionValue = SnowNLP(word[0]).sentiments + if emotionValue > 0.5: + yData[0] += 1 + elif emotionValue == 0.5: + yData[1] += 1 + elif emotionValue < 0.5: + yData[2] += 1 + finalData = [{ + 'name':x, + 'value':yData[index] + } for index,x in enumerate(xData)] + return xData,yData,finalData + +def getYuQingCharDataTwo():# 统计评论列表和文章列表中的情感值 + xData = ['正面', '中性', '负面'] + finalData1 = [{ + 'name':x, + 'value':0 + } for x in xData] + finalData2 = [{ + 'name': x, + 'value': 0 + } for x in xData] + + for comment in commentList: + emotionValue = SnowNLP(comment[4]).sentiments + if emotionValue > 0.5: + finalData1[0]['value'] += 1 + elif emotionValue == 0.5: + finalData1[1]['value'] += 1 + elif emotionValue < 0.5: + finalData1[2]['value'] += 1 + for artile in articleList: + emotionValue = SnowNLP(artile[5]).sentiments + if emotionValue > 0.5: + finalData2[0]['value'] += 1 + elif emotionValue == 0.5: + finalData2[1]['value'] += 1 + elif emotionValue < 0.5: + finalData2[2]['value'] += 1 + return finalData1,finalData2 + +def getYuQingCharDataThree():# 提取前10个热词及其对应的出现频率 + hotWordList = getAllHotWords() + xData = [] + yData = [] + for i in hotWordList[:10]: + xData.append(i[0]) + yData.append(int(i[1])) + return xData,yData + diff --git a/utils/getTableData.py b/utils/getTableData.py new file mode 100644 index 0000000..87c4824 --- /dev/null +++ b/utils/getTableData.py @@ -0,0 +1,21 @@ +from utils.getPublicData import getAllArticleData +from snownlp import SnowNLP + +def getTableDataList(flag): + if flag: + tableList = [] + articeList = getAllArticleData() + for article in articeList: + item = list(article) + value = '' + if SnowNLP(item[5]).sentiments > 0.5: + value = '正面' + elif SnowNLP(item[5]).sentiments < 0.5: + value = '负面' + else: + value = '中性' + item.append(value) + tableList.append(item) + return tableList + else: + return getAllArticleData() \ No newline at end of file