使用Teradata python库从decimal(18,6)中选择返回pandas中的NaN

2024-10-01 17:22:26 发布

您现在位置:Python中文网/ 问答频道 /正文

Evn:Python3.6,windows 10

连接:

connect = udaExec.connect(
    method="odbc",
    system='***',
    username= username,
    password= password,
    driver="Teradata Database ODBC Driver 16.10",
    dataTypeConverter=datatypes.DefaultDataTypeConverter(
                    useFloat=False) #tried setting to True - same results
)



query = 'sel top 1 MNQ from tb1'
pd.read_sql(query, connect) #this return NaNs as result

read_sql-有coerce_float参数-从默认的True更改为False-没有任何更改

怎么解决这个问题?链接到github issue


Tags: falsetruereadsqlwindowsdriverconnectusername
1条回答
网友
1楼 · 发布于 2024-10-01 17:22:26

我们不得不承认,teradata库是浪费的,而且支持的时间更长。我的问题很容易地解决了我使用另一个库的问题:

from turbodbc import connect
driver="Teradata Database ODBC Driver 16.10"
connection = connect(driver=driver,
                      server=ip, 
                      DBCName='.com', 
                      uid=username,
                      pwd=password)

cursor = connection.cursor()
query = 'sel * from tb'
cursor.execute(query)
data = pd.DataFrame(cursor.fetchallnumpy()) #to get pandas dataframe
data.to_csv('tb.csv')
cursor.close()

相关问题 更多 >

    热门问题