【发布时间】:2016-12-04 07:34:21
【问题描述】:
我有一个数据库表,其中包括最终用户 cmets(评论列)和情绪得分(情绪列)。我正在 cmets 列上使用 texblob 运行情绪分析。
默认情况下,情绪列预先填充了情绪分数 0(浮点数据类型)。
我在根据情绪分析结果更新情绪分数时遇到问题。预填充的值 0 保留在表格列中,因此更新不起作用。
各种组件似乎都可以工作(没有抛出错误,打印语句输出正确的情绪分数,应该在每个循环中更新情绪列,如果我硬编码也可以工作的更新 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()
【问题讨论】:
标签: python sql-server azure