2011-09-14 75 views
1

那麼,我可能會在Python中做一些工作,最終會產生數十萬甚至數百萬行數據,每個數據行可能包含50列或更多列。我想要一種方式來跟蹤這些數據並使用它。由於我也想學習Microsoft Access,我建議將數據放在那裏。有沒有簡單的方法來做到這一點?我也想學習SAS,所以這也可以。或者,有沒有其他的方案/方法我應該知道這種情況?是否可以將數據從Python存儲在Access文件中?

感謝您的幫助!

回答

1

是的,你可以和任何來自Python的ODBC數據庫交談,那應該包括Access。你需要ActiveState的Python的「windows」版本(包括像ODBC這樣的東西)。

我更擔心Access中的「數百萬行」,如果實際上將它用於關係任務(即將不同的表連接在一起),它在檢索時可能會稍微慢一些。

我也看看你的50個列表 - 有時你需要50列,但更多的時候它意味着你沒有足夠的分解你的數據以正常的形式得到它。

最後,如果你使用Python來讀寫Access數據庫,我不知道我是否會把它算作「學習Access」。真正學習Access將使用前端來創建和維護數據庫,在Access中創建表單和報告(這將不能從Python獲得)以及在Visual Basic for Applications(VBA)中進行編程。

我真的很喜歡SQLite作爲嵌入式數據庫解決方案,特別是來自Python,它的SQL方言可能比Access更「純」。

+0

然後,我會使用各種查詢來處理數據。關鍵是,我把數據放入Access,然後使用Access來處理它。而且,我可能會使用一些VBA。我知道Excel的VBA,並想學習它的Access。但是,如你所說,它可能會非常慢。這就是爲什麼我也想到SAS。我不太瞭解,但我聽說它擅長處理大量數據。而且,你能否給我一個關於如何將數據放入這些程序的基本概念? – Graphth

+1

訪問可能會起作用,它不像它經常出現的那樣(相當)差。您可以像使用Python中的任何數據庫連接一樣使用它:導入Python模塊(例如pyodbc);你創建一個連接對象(傳遞一個指定ODBC驅動程序和數據庫文件的字符串);從連接對象創建一個遊標對象,然後使用遊標對象在數據庫上執行SQL參數化語句。 –

+0

我不熟悉任何有關「關係任務」的Access性能問題。這不符合我在過去15年與Jet/ACE合作過的實際情況。在所有的數據庫(特別是OUTER連接)中JOIN都相對昂貴,所以我不認爲它是一個問題。在Access中,成千上萬的行很好。數百萬可能會成爲一個問題,但不是因爲性能的問題,而是因爲2GB文件大小的硬限制。但它實際上取決於表中行的大小。我有一個超過700萬行的測試數據庫。 –

0

因爲我也想學的Microsoft Access,

不要浪費你的時間學習的機會。

我建議把數據放在那裏。有沒有簡單的方法來做到這一點?

ODBC。

或者,有沒有其他的程序/方法我應該知道這樣的情況?

SQLiteMySQL遠比MS-Access更好的選擇。

+0

但是,你能給我一個關於如何將數據放入這些程序的非常基本的想法嗎? – Graphth

+0

@Graphth:「我將如何將數據放入這些程序」?這些程序?蟒蛇?訪問? 「這些計劃」是什麼意思?例如,從Python到 –

+0

。 – Graphth

相關問題