我有一個資料框,其中有一列顯示 ID。如下所示(我從另一個 sql 表中讀取并將此資料保存到此資料框中):

我在 mysql 中也有一張表,其中包含“用戶”、“銷售”和“購買”三列。我想選擇他們的用戶在資料框中的表中的行。這是我使用的代碼,但是我得到了錯誤。
data = pd.read_sql(f"""select * from mytable where user in (%s)" % ','.join(df['user'])limit 5""", db)

我進行了很多搜索,看到了問題Pandas Dataframe - Mysql select from table where condition in <A column from Dataframe>和其他問題,但是我無法解決我的問題。
uj5u.com熱心網友回復:
您應該首先將資料框更改為元組。然后使用 {tuple} 中的 where。
就這個:
x = tuple(df.user.unique())
data = pd.read_sql(f"""select * from mytable where user in {x} limit 5""", db)
uj5u.com熱心網友回復:
query = 'SELECT * FROM mytable WHERE user in ' tuple(df['user'].tolist())
如果轉換為串列,試試這個可能會起作用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/438132.html
上一篇:SQL:旋轉后組合行
