Read Teradata query into Pandas

帅比萌擦擦* 提交于 2019-12-04 19:26:19

I did it using read_sql . Below id the code snip :

def dqm() :
    conn_rw = create_connection()
    dataframes = []
    srcfile = open('srcqueries.sql', 'rU').read()
    querylist = srcfile.split(';')
    querylist.pop()
    for query in querylist :
        dataframes.append(pd.read_sql(query, conn_rw))
    close_connection(conn_rw)
    return dataframes,querylist

You can create connection as below :

    def create_connection():
        conn = pyodbc.connect("DRIVER=Teradata;DBCNAME=tddb;UID=uid;PWD=pwd;QUIETMODE=YES", autocommit=True,unicode_results=True)
        return conn

You can check complete code here : GitHub Link Let me know if this answers your query .

You can use slqalchemy but you will need to install sqlalchemy-teradata too. You can do that via PIP

pip install sqlachemy-teradata

The rest of the code remains the same :)

from sqlalchemy import create_engine
import pandas as pd

user, pasw, host = 'username','userpass', 'hostname'

# connect
td_engine = create_engine('teradata://{}:{}@{}:22/'.format(user,pasw,hostname))

# execute sql
query = 'select * from dbc.usersV'
result = td_engine.execute(query)

#To read your query to Pandas
df = pd.read_sql(query,td_engine)  
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!