sql - 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}""")
product
和key
值取自上述数据框
我想将上述 DataFrame 中的每个产品和键循环到 SQL 查询广告中获取输出
解决方案
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) 对(元组)。
你可以在这里阅读更多关于它的信息。
推荐阅读
- python - 按分位数对 Pandas 数据帧进行排名
- r - 在 R Studio 中自定义制图输出的困难
- c++ - 带有嵌套模板参数的 std::vector
- sharepoint - 如何在基于 SharePoint 的流中修复“拒绝访问 - 错误 403”
- tensorflow - 使用 macOS 安装 tfjs-node 时失败,并且 node-gyp 重建失败
- reactjs - React - 操作 DOM 还是使用状态?
- android - 离子时间选择无法显示 Android 的 AM / PM
- python - 如何在使用 plotly 进行子图绘制时隐藏 x 轴值
- git - git apply patch 不起作用:没有这样的文件或目录
- python - 如何通过每次可以更改的索引删除列表的多个元素?