代码如下,使用的是jupyter,原文件也放在jupyter里,运行后能返回原句和正负面打分,但是jupyter里面的文件没有更新,在存放有j的文件夹下也没有。
想生成excel或替代原文件,要怎么实现呢?
import pandas as pd
import datetime
from aip import AipNlp
import codecs
startdate = datetime.date(2021, 1, 27).strftime('%Y-%m-%d')
enddate = datetime.date(2021, 1, 28).strftime('%Y-%m-%d')
APP_ID = 'xx'
API_KEY = 'xx'
SECRET_KEY = 'xx'
client = AipNlp(APP_ID, API_KEY, SECRET_KEY)
def get_sentiments(text,dates):
try:
sitems=client.sentimentClassify(text)['items'][0]#情感分析
positive=sitems['positive_prob']#积极概率
confidence=sitems['confidence']#置信度
sentiment=sitems['sentiment']#0表示消极,1表示中性,2表示积极
#tagitems = client.commentTag(text, {'type': 9}) # 评论观点
#propertys=tagitems['prop']#属性
#adj=tagitems['adj']#描述词
output='{}\t{}\t{}\t{}\n'.format(dates,positive,confidence,sentiment)
f=codecs.open('text.xlsx','a+','utf-8')
f.write(output)
f.close()
print('Done')
print(output)
except Exception as e:
print(e)
def get_content():
data=pd.DataFrame(pd.read_excel('text.xlsx',sheet_name=0))
data.columns=['Dates','viewpoints']#重设表头
data=data.sort_values(by=['Dates'])#按日期排列
vdata=data[data.Dates>=startdate]#提取对应日期的数据
newvdata=vdata.groupby('Dates').agg(lambda x:list(x))#按日期分组,把同一天的评论并到一起
return newvdata
viewdata=get_content()
for i in range(viewdata.shape[0]):
print('正在处理第{}条,还剩{}条'.format(i,viewdata.shape[0]-1))
dates=viewdata.index[i]
for view in viewdata.viewpoints[i]:
print(view)
get_sentiments(view,dates)
(代码是学习网上一位大神的,如有需要请另外告知)
dataframe.to_csv?
群是多少
可以加下自然语言处理qq支持群,有专业同学解答~