我已經編寫了一些python代碼來連接到MySQL數據庫,打開一個文本文件,並對文本文件中的每個條目執行查詢並將結果寫入輸出文件。而不是將每個查詢的結果寫入輸出文件,但只寫入一個結果。如果我使用的查詢沒有參數,它一切正常。只有當我嘗試添加參數時纔會出現此問題。使用Python進行MySQL查詢不返回所有結果
我對Python很新,所以我可能會犯一個愚蠢的錯誤,但我還沒有能夠遇到任何有幫助的東西,所以任何援助將不勝感激。
我的代碼是:
output = open("results.txt", "w+")
cnx= mysql.connector.connect(**config)
cursor = cnx.cursor()
with open("input.txt") as i:
for line in i:
# Construct query to get type
query = ("select type from table1, table2 "
"where table1.name = %s and table1.id = table2.id")
# Query arguments
args = (line)
cursor.execute(query, args) # Execute query
for entry in cursor:
output.write(str(entry) + "\n")
cursor.close()
cnx.close()
你使用關閉文件'output.close ()'?否則,可能數據在輸出緩衝區中丟失。 – dnet
記錄:「args =(line)」應該是「args =(line,)」,但請參閱joente的答案以獲得真正的修復。 – geertjanvdk