gpt4 book ai didi

python - Df 到 sql 到 python 中的 Teradata

转载 作者:行者123 更新时间:2023-12-05 07:20:05 25 4
gpt4 key购买 nike

我正在尝试使用 df.to_sql 方法将 csv 文件加载到 Teradata 表中。到目前为止,我可以使用 Teradata python 模块进行连接,但无法加载我的 csv 文件。

这是我的代码:

import teradata
import pandas as pd
global udaExec
global session
global host
global username
global password

def Connexion_Teradata(usernames,passwords):

host= 'FTGPRDTD'
udaExec = teradata.UdaExec (appName="TEST", version="1.0", logConsole=False)
session=udaExec.connect(method="odbc",system=host, username=usernames,password=passwords, driver="Teradata")
print('connection ok')

df = pd.read_csv(r'C:/Users/c92434/Desktop/Load.csv')
print('chargement df ok')
df.to_sql(name = 'DB_FTG_SRS_DATALAB.mdc_load', con = session, if_exists="replace", index ="False" )
print ('done')


Connexion_Teradata ("******","****")

当我播放我的脚本时,我得到的是:

DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': (3707, "[42000] [Teradata][ODBC Teradata Driver][Teradata Database] Syntax error, expected something like '(' between the 'type' keyword and '='. ")

我能做什么?

最佳答案

请试试这个:

from teradataml.dataframe.copy_to import copy_to_sql
from sqlalchemy import create_engine
import pandas as pd

sqlalchemy_engine = create_engine('teradatasql://'+ user + ':' + passwd + '@'+host)
td_context = create_context(tdsqlengine = sqlalchemy_engine)

df = pd.read_csv(r'/Users/abc/test.csv')
使用 copy_to_sql() 函数在 Vantage 中基于 teradataml DataFrame 或 pandas DataFrame 创建表。
copy_to_sql(df, 'testtable', if_exists='replace')

关于python - Df 到 sql 到 python 中的 Teradata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57623193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com