簡體   English   中英

如何將 SQL Oracle 數據庫轉換為 Pandas DataFrame?

[英]How to convert SQL Oracle Database into a Pandas DataFrame?

我正在嘗試將 Oracle SQL 數據庫導入 python,以便我可以聚合/分析數據。 Pandas 對這項任務非常有用。 但是每當我嘗試使用我的代碼時,它就會掛起並且不輸出任何內容。 我不確定是因為我使用的是 cx oracle 包,然后使用了 Pandas 包?

import cx_Oracle as cxo
import pandas as pd 
dsn=cxo.makedsn(
    'host.net',
    '1111',
    service_name='servicename'
)
conn=cxo.connect(
    user='Username',
    password='password',
    dsn=dsn)
c=conn.cursor()
a=c.execute("SELECT * FROM data WHERE date like '%20%'")
conn.close
df=pd.DataFrame(a)
head(df)

但是,當我使用下面的代碼時,它會打印出我要查找的數據。 我需要將此數據轉換為熊貓數據框,

for row in c: print(row)
conn.close()

我對 python 很陌生,所以任何幫助都將不勝感激!!

要將 cx_Oracle 游標轉換為數據幀,您可以使用以下代碼。

with conn.cursor() as cursor:
    cursor.execute("SELECT * FROM data WHERE date like '%20%'")
    from pandas import DataFrame
    df = DataFrame(cursor.fetchall())
    df.columns = [x[0] for x in cursor.description]
    print("I got %d lines " % len(df))

注意我使用光標作為上下文管理器。 所以它會在塊的末尾自動關閉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM