使用 Teradata python 库从 pandas 中的十进制 (18,6) return NaN 中选择
Selecting from decimal (18,6) return NaN in pandas using Teradata python library
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 - 没有任何变化
如何解决这个问题? Link 到 github issue
我们不得不承认 - 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()
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 - 没有任何变化
如何解决这个问题? Link 到 github issue
我们不得不承认 - 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()