首页 > 解决方案 > Pandas - 将数据框中的多个项目循环到 SQL 查询

问题描述

我有一个 Dataframe,它有两列,一列提到 product_name,另一列有与该产品相关的键,如下所示:

product,key
prod_a, key_1
prod_b, key_2
prod_c, key_3

我正在尝试查询一个表,以便在 where 子句中应用产品及其对应的键,如下所示:

询问:

cursor.execute("""select prod_name, quantity from table where prod_name = {product} and prod_key = {key}""")

productkey值取自上述数据框

我想将上述 DataFrame 中的每个产品和键循环到 SQL 查询广告中获取输出

标签: sqlpandas

解决方案


itertuples()是更快的方法。

for index, row in df.itertuples():
    cursor.execute("""select prod_name, quantity from table where prod_name = '{row["product"]}' and prod_key = '{row["key"]}'""")

.itertuples()为每一行生成一个命名元组,行的索引值作为元组的第一个元素。

.iterrows()为 DataFrame 中的每一行生成 (index, Series) 对(元组)。

你可以在这里阅读更多关于它的信息。


推荐阅读