2017-06-23 13 views
0

cx_Oracle 5.3を使用している場合、私はこの問題を持っていますが、私が使用して実行しようとしています特に大きなクエリのなかったを使用して接続してSQLを読む:問題がcx_Oracle 6.0b2

私の設定
connection = cx_Oracle.connect('Username/[email protected]/dbname') 

pd.read_sql(Query,connection) 

I get the following value error: 

ValueError        Traceback (most recent call last) 
<ipython-input-22-916f315e0bf6> in <module>() 
----> 1 OracleEx = pd.read_sql(x,connection) 
     2 OracleEx.head() 

C:\Users\kevinb\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\io\sql.py in read_sql(sql, con, index_col, coerce_float, params, parse_dates, columns, chunksize) 
    497    sql, index_col=index_col, params=params, 
    498    coerce_float=coerce_float, parse_dates=parse_dates, 
--> 499    chunksize=chunksize) 
    500 
    501  try: 

C:\Users\kevinb\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\io\sql.py in read_query(self, sql, index_col, coerce_float, params, parse_dates, chunksize) 
    1606           parse_dates=parse_dates) 
    1607   else: 
-> 1608    data = self._fetchall_as_list(cursor) 
    1609    cursor.close() 
    1610 

C:\Users\kevinb\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\io\sql.py in _fetchall_as_list(self, cur) 
    1615 
    1616  def _fetchall_as_list(self, cur): 
-> 1617   result = cur.fetchall() 
    1618   if not isinstance(result, list): 
    1619    result = list(result) 

ValueError: invalid literal for int() with base 10: '8.9' 

すべての実行と

ValueError        Traceback (most recent call last) 
<ipython-input-46-d32c0f219cdf> in <module>() 
----> 1 y=x.fetchall() 
     2 pd.DataFrame(y) 

ValueError: invalid literal for int() with base 10: '7.3' 

値「8.9」と「7.3」変更:独自のカーソルと使用cur.fetchallは()私は、同様の結果を得ることができます。

なぜ私はこれらの値のエラーを取得していますか? pd.read_sqlとcur.fetchall()の使用は、以前のバージョンのcx_Oracleで使用していた特定のクエリではなく、一部のクエリでは機能していませんでした。

答えて

1

ベータ2の代わりにリリース候補を試してください。特定の数値式を取得するときに問題が発生しました。

python -m pip install cx_Oracle --upgrade --pre

+0

アンソニーに感謝します。上記の貼り付けコマンドを実行してみたところ、次の応答が得られました。要件はすでに最新です。cx_Oracle in c:¥users¥kevinb¥appdata¥local¥continuum¥anaconda3¥lib¥site-packages – Kpb

+0

pipのアップグレードコマンドにはあまりよく慣れていませんが、リリース候補を取得するもう一つの簡単な方法はありますか? ベータ2をインストールするには、適切な場所にすべての要件を満たすのにかなりの時間がかかりました。 – Kpb

+0

PyPIに行き、ホイールを直接ダウンロードできます。上記のpipコマンドを使用してアンインストールしてから再インストールし、cx_Oracle 6.0rc1があることを確認することもできます。 –