Pandas read_sql 中的多个 WHERE 条件

Multiple WHERE conditions in Pandas read_sql

我已将数据放入 SQLite3 数据库,现在我正在尝试编写一个小脚本来访问给定日期所需的数据。我得到了 SELECT 语句来处理日期范围,但我似乎无法添加另一个条件来微调搜索。

db columns id, date, driverid, drivername, pickupStop, pickupPkg, delStop, delPkg

到目前为止我得到了什么:

import pandas as pd
import sqlite3


sql_data = 'driverperformance.sqlite'
conn = sqlite3.connect(sql_data)
cur = conn.cursor()

date_start = "2021-12-04"
date_end = "2021-12-10"
df = pd.read_sql_query("SELECT DISTINCT drivername FROM DriverPerf WHERE date BETWEEN :dstart and :dend", params={"dstart": date_start, "dend": date_end}, con=conn)
drivers = df.values.tolist()

for d in drivers:
    driverDF = pd.read_sql_query("SELECT * FROM DriverPerf WHERE drivername = :driver AND date BETWEEN :dstart and :dend", params={"driver": d, "dstart": date_start, "dend": date_end}, con=conn)

我尝试了几个不同版本的“WHERE drivername”部分,但似乎总是失败。

谢谢!

如果我没记错的话,drivers 将是一个列表列表。你试过了吗

.... params={"driver": d[0] ....