我有一个数据库表,其中包括最终用户注释(注释列)和情绪分数(情感列)。我在评论栏上使用texblob运行情绪分析。
默认情况下,Sentiment列预先填充了情绪分数0(float数据类型)。
我在根据情绪分析的结果更新情绪分数时遇到问题。预填充值0保留在表格列中 - 因此更新不起作用。
各种组件似乎都有效(没有错误抛出,print语句输出正确的情绪分数,应该用每个循环更新Sentiment列,如果我硬编码更新sql语句也可以工作,虽然没有循环遍历行,数据库连接不是问题,因为正在计算情绪......)。
有人可以告诉我做错了什么吗?编程新手。
干杯史蒂夫
import pypyodbc
from textblob import TextBlob
myConnection = pypyodbc.connect('Driver={SQL Server};'
'Server=tcp:AZURESERVER;'
'Database=DBNAME;'
'uid=USERNAME; pwd=PASSWORD')
myCursor = myConnection.cursor()
SQLCommand =("SELECT Comments FROM [dbo].[ADO NET Destination] ")
myCursor.execute(SQLCommand)
for row in myCursor.fetchall():
print(row)
wiki = TextBlob(str(row))
print(wiki.polarity)
print(type(wiki.polarity))
SQLUPDATECommand =("Update [ADO NET Destination] SET [Sentiment] = ?")
value = [wiki.polarity]
myCursor.execute(SQLUPDATECommand,value)
myConnection.commit()
myConnection.close()