Ich habe eine SQLite-Datenbank mit den folgenden Spalten und 1000 ZeilenPandas Datenrahmen mit SQLite-Tabelle über sqlquery
con.execute('CREATE TABLE "table" (Fruit TEXT, Texture TEXT, Code TEXT, Buy TEXT)'
Vergleich möchte ich eine pandas.Dataframe
mit diesem table
, und wenn der Wert in der Spalte vergleichen sqlite "Code"
ist nicht in df['Code']
, dann Update sqlite "Buy"
mit dem Wort "Ja".
Zunächst habe ich versucht, den Code unten zu sehen, ob ich alle Ergebnisse von df['Code']
bekommen zu drucken, wenn es vorhanden ist, dann könnte ich in einem NOT
in den sqlite query
fügen Sie einfach die Ergebnisse leicht zu schlagen, aber zur Zeit, den Code unten druckt 1000 Zeilen von leeren Listen und druckt gelegentlich statt, einige der Code
aus ...
for each_code in df['Code']:
z = con.execute('SELECT EXISTS(SELECT 1 FROM "table" WHERE Code IN ({c}))'
.format(c=each_code)).fetchall()
print(z)
Nicht sicher, wo mein Fehler liegt? Ich dachte daran, dies auf Datenbankebene zu tun, da es schneller sein könnte.