Не уверен, используете ли вы python 2 или python 3. Если вы можете использовать python 3.6 или более позднюю версию, возможно, что-то вроде следующего может работать?
import teradata as td
import pandas as pd
udaExec = td.UdaExec(appName="test", version="1.0", logConsole=False)
with udaExec.connect(
method="odbc",
system="host",
username="username",
password="password",
driver="drivername"
) as conn:
state_dataframes = []
STATES = ["state1", "state2", "state3", "state4", "state5"]
for state in STATES:
sql = f"select distinct {state}, item_a, item_b from my_db_{state}.table;"
state_dataframes.append(pd.read_sql(sql, conn))
combined_data = pd.concat(state_dataframes)
Это не ' t проверено, но, надеюсь, оно поможет вам в правильном направлении.