我一直試圖弄清楚為什么我的 python 腳本沒(méi)有更新我的數(shù)據(jù)庫(kù)。我有一個(gè)名為的文件database.py,它的外觀如下: import mysql.connector as mariadb import globals def connect(): mariadb_connection = mariadb.connect(user=globals.MY_USERNAME, password=globals.MY_PASSWORD, database='ellen') return mariadb_connection def insert_author_topics(author_id, topics, cursor): sql = "UPDATE author SET topics = \'" + str(topics) + "\' WHERE id = " + str(author_id) + ";" try: cursor.execute(sql) except mariadb.Error as error: print("Error: {}".format(error)) def close(connection): connection.commit() connection.close()在我的主文件中,我有一個(gè)像這樣的函數(shù):def get_topics(x, ldamodel, cursor, connection): author_text = x['processed_text'] bow_vector = dictionary.doc2bow([author_text]) topics = '[' for index, score in sorted(ldamodel[bow_vector], key=lambda tup: -1*tup[1]): new_topic = "Score: {}\t Topic: {} ".format(score, ldamodel.print_topic(index, 5)) topics += new_topic topics += ']' database.insert_author_topics(author['id'], topics, cursor) connection.commit()我有一個(gè) Pandas 數(shù)據(jù)框的作者和get_topics,它insert_author_topics會(huì)像這樣調(diào)用每個(gè)作者:authors.apply(lambda x: get_topics(x, ldamodel, cursor, connection), axis=1)我總共有大約 100,000 個(gè)作者。出于某種原因,每當(dāng)我運(yùn)行這個(gè)腳本時(shí),數(shù)據(jù)庫(kù)中只有大約 200 個(gè)作者更新。當(dāng)我嘗試運(yùn)行腳本時(shí),我沒(méi)有收到任何錯(cuò)誤。我嘗試打印出每個(gè)用 sql 語(yǔ)句更新的作者的 ID,我打印出大約 100,000 個(gè) ID。任何幫助,將不勝感激。如果需要,我可以提供更多信息。謝謝!
Python 腳本 - mysql.connector 不更新 MariaDB 表
繁華開(kāi)滿天機(jī)
2021-11-30 10:15:10