2017-03-06 51 views
0

我完全新的Python和大熊貓。我想從Oracle和Teradata中加載一些表和Sql查詢到大熊貓數據框並想分析它們。 我知道,我們必須在Pandas中爲Oracle和Teradata創建一些連接字符串。你可以請我建議他們,並添加示例代碼來讀取表和SQL查詢?如何從Pandas中的Oracle中讀取表和Sql查詢?

感謝Inadvance

回答

1

我沒有Oracle服務器,所以我採取的Teradata作爲一個例子

這並不是對,唯一的辦法,只有一個辦法

  • 確保您已安裝的Teradata ODBC驅動程序。請參考Teradata官方網站上的步驟,我想你使用的是Windows(因爲使用SQL Assistant很容易對Teradata運行查詢,這僅在Windows上)。您可以檢查它在ODBC Data Source Administrator
  • 由命令pip install pyodbc安裝pyodbc。這裏是official website
  • 連接字符串db_conn_str = "DRIVER=Teradata;DBCNAME={url};UID={username};PWD={pwd}"
  • 獲得一個連接對象conn = pyodbc.connect(db_conn_str)
  • 讀數據從一個SQL查詢到數據幀df = pd.read_sql(sql="select * from tb", con=conn)

類似的用於Oracle,你需要有驅動程序和ODBC連接字符串的格式。我知道Teradata有一個支持連接的python模塊,但我更喜歡使用odbc,因爲它更通用。

+0

非常工整,詳細的解答++ – MaxU

+0

感謝鍾岱。我越來越無效當我嘗試pip安裝pyodbc時出現語法錯誤。 – Ramsey

+0

@Ramsey使用** **點子安裝Python包是使用Python的基本知識,請參考Python的基礎文件,看看發生了什麼事。我想你沒有正確的** PATH **,或者你沒有安裝** pip **。 –

0

下面是一個Oracle例如:

import cx_Oracle # pip install cx_Oracle 
from sqlalchemy import create_engine 

engine = create_engine('oracle://user:[email protected]_or_scan_address:1521/ORACLE_SERVIVE_NAME') 

df = pd.read_sql('select * from table_name', engine) 
+0

謝謝MaxU。我正在研究Windows機器和Anacoda。我打開蟒蛇提示和去Python3,然後我試圖點子安裝cx_Oracle,但我正在逐漸無效語法錯誤都pyodbc和cx_Oracle。請幫助我。 – Ramsey

+0

https://www.google.com/search?q=how+install+python+module+pip&pws=0&gl=us&gws_rd=cr#pws=0&gl=us&q=python+how+install+modules+using+pip – MaxU