【发布时间】:2017-06-06 14:24:32
【问题描述】:
我正在运行 pandas read_sql_query 和 cx_Oracle 6.0b2 从我继承到 DataFrame 的 Oracle 数据库中检索数据。
许多 Oracle 表中的字段的数据类型为 NUMBER(15, 0),其值为无符号值。当我从该字段中检索数据时,DataFrame 将数据报告为int64,但 DataFrame 值的位数为 9 位或更少,并且全部为负数。所有的值都改变了——我假设某个地方发生了整数溢出。
如果我在 SQL 查询中使用 to_char 转换数据库值,然后在 DataFrame 上使用 pandas to_numeric,则值类型为 int64 并且正确。
我正在使用 Python 3.6.1 x64 和 pandas 0.20.1。 _USE_BOTTLENECK 是 False。
如何在不使用to_char 的情况下从表中检索正确的值?
【问题讨论】:
标签: python sql oracle pandas dataframe