Python 3.x 如何在从teradata获取大型数据集时在dask中的sqlalchmey中应用多个WHERE子句

Python 3.x 如何在从teradata获取大型数据集时在dask中的sqlalchmey中应用多个WHERE子句,python-3.x,sqlalchemy,dask,teradatasql,Python 3.x,Sqlalchemy,Dask,Teradatasql,我正在尝试使用dask和sqlalchmey从teradata获取更大的数据集。我能够应用单个WHERE子句并能够获取数据。下面是工作代码 td_engine = create_engine(connString) metadata = MetaData() t = Table( "table", metadata, Column("c1"), schema="schema", ) sql = sel

我正在尝试使用dask和sqlalchmey从teradata获取更大的数据集。我能够应用单个WHERE子句并能够获取数据。下面是工作代码

td_engine = create_engine(connString)
metadata = MetaData()
t = Table(
    "table",
    metadata,
    Column("c1"),
    schema="schema",
  )
sql = select([t]).where(
        t.c.c1 == 'abc',
    )
)
start = perf_counter()
df = dd.read_sql_table(sql, connString, index_col="c1",schema="schema")
end = perf_counter()
print("Time taken to execute the code {}".format(end - start))
print(df.head())
但当我试图应用where子句时,我得到了错误

sql = select([t]).where(
and_(
        t.c.c1 == 'abc',
        t.c.c2 == 'xyz'
    )
)

更多的上下文会有帮助。如果您只需要执行查询,您是否考虑过使用pandas read_sql函数并自己编写sql请求

import teradatasql
import pandas as pd
with teradatasql.connect(host="whomooz",user="guest",password="please") as con:
  df = pd.read_sql("select c1 from mytable where c1='abc' and c2='xyz'", con)
  print(df.head())

或者是否特别需要使用pandas函数来构造SQL请求?

请显示您的异常。这可能有点棘手,但如果你能创建一个与你自己的数据结构相似的DB sqlite,那么对潜在的回答者来说,这将是非常有用的。