2015-11-19 79 views
0

我正在使用Python從MySql數據庫中使用Python的數據庫包pyodbc讀取大量數據。我使用cursor.execute(sqlStatement)傳遞sql語句,並使用cursor.fetchall()將其讀出。使用Python pyodbc從數據庫中讀取並使用指針切換到Matlab

我通過將它寫入帶有scipy軟件包的.mat文件將它傳遞到Matlab中。

但是,由於它是一個非常大量的數據,我想跳過寫入.mat文件並直接從Matlab中的內存讀出它的部分。有沒有辦法做到這一點?

+0

MatLab的可以直接連接到SQL Server通過ODBC執行查詢本身,據我所知。雖然我喜歡Python,但我不認爲它在這裏是必要的:http://www.mathworks.com/help/database/ug/connecting-to-a-database-using-the-native-odbc-interface.html – FlipperPA

回答

0

嘗試這樣:

For row in cursor.fetchAll(): 
    #send each fetched row to Matlab here 

我不完全熟悉Matlab的;它可以在套接字上聽嗎?

如果是這樣,這將是這樣的,假設你已經創建了你的光標連接:

cursor.execute(sqlStatement)  

socket = socket() 

try: 
    socket.connect((MATLAB_SERVER, PORT)) 
except: 
    print("Couldn't connect, are server and port available?") 
    sys.exit(1) 

For row in cursor.fetchall(): 
    #send each fetched row to Matlab here 
    socket.sendall(row) 
相關問題