簡體   English   中英

更新數據庫不起作用; Python 3.4,SQL Azure數據庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM