[英]Updating database not working ; Python 3.4, SQL Azure DB
我有一個數據庫表,其中包含最終用戶評論(“評論”列)和情感分數(“情感”列)。 我正在評論欄中使用texblob運行情緒分析。
默認情況下,“情感”列的情感評分為0(浮點數據類型)。
我在根據情感分析結果更新情感分數時遇到問題。 表格列中保留了預先填充的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()
問題在於UPDATE語句。 它需要包含一個WHERE,以根據FOR循環的特定迭代來指定需要更新的確切行。 例如
SQLUPDATECommand =("Update [ADO NET Destination] SET [Sentiment] = ? WHERE RowID = ?")
value = [wiki.polarity, row[1]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.