エンドユーザーのコメント(コメント列)とセンチメントスコア(センチメント列)を含むデータベーステーブルがあります。私はコメント欄にtexblobを使って感情分析を行っています。データベースが更新されていません。 Python 3.4、SQL Azure DB
デフォルトでは、Sentiment列にはセンチメントスコア0(floatデータ型)があらかじめ設定されています。
感情分析の結果に基づいて感情スコアを更新する際に問題が発生しています。事前に設定された0の値はテーブルの列に残ります。そのため、更新は機能しません。
さまざまなコンポーネントが動作するように見えます(エラーはスローされません。printステートメントは、各ループでSentimentカラムを更新する正しい感情スコアを出力します)。また、更新SQLステートメントをハードコードすると、感情が計算されているのでDB接続は問題ではありません...)。
私が間違っていることをアドバイスできますか?プログラミングの初心者です。
乾杯スティーブ
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()