【问题标题】:Multiple WHERE conditions in Pandas read_sqlPandas read_sql 中的多个 WHERE 条件
【发布时间】:2022-01-02 21:15:34
【问题描述】:

我已将数据放入 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”部分,但似乎总是失败。

谢谢!

【问题讨论】:

    标签: python-3.x pandas dataframe sqlite


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-04-28
      • 1970-01-01
      • 1970-01-01
      • 2016-12-03
      • 2020-01-09
      • 1970-01-01
      • 2012-05-19
      • 2022-01-19
      • 2015-06-16
      相关资源
      最近更新 更多