【发布时间】:2015-10-14 08:09:55
【问题描述】:
作为我对推文的情绪分析的一部分,我需要从我的数据库中提取推文,运行 Python 脚本来获取情绪分数并将其插入回数据库中。
我的部分代码:
#conneting to database (works perfect)
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=xxxxxxx\SQLEXPRESS;DATABASE=TestTwitter;UID=;PWD=')
cursor = cnxn.cursor()
#Alter table (works perfect)
cursor.execute("ALTER TABLE TestTable ADD score2 varchar(255);")
#select tweet from each row and calculate score (works perfect)
cursor.execute("SELECT TestTable.Tweet FROM TestTable")
for row in cursor.fetchall():
print (row[0])
sentim = sentiment(row[0])
print (sentim)
#update table and add sentiment score for each row (not so perfect)
cursor.execute("Update TestTable SET score2 = '" + (str(sentim)) + "';")
cnxn.commit()
更新表时,所有行都获得与第一条推文相同的情绪值,而不是它们自己的。 “打印(情绪)”一一显示每条推文的得分,但更新表格时似乎循环不起作用。有什么办法解决这个问题?
【问题讨论】:
标签: python sql sql-server sentiment-analysis