Выбор из десятичного числа (18,6) возвращает NaN в пандах с использованием библиотеки Python Teradata - PullRequest
0 голосов
/ 30 августа 2018

Evn: Python 3.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

1 Ответ

0 голосов
/ 03 сентября 2018

Мы должны признать - библиотека 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()
...