2015-06-30 39 views
1

我有一個包含大約700列和10,000行的CSV文件。每個列都包含每行第1列中對象的屬性信息。我想通過這個「數據庫」來搜索符合基於屬性信息的一組要求的特定記錄。使用R讀入並搜索非常大的CSV文件是否有意義?

例如,一個列不包含2個字母縮寫形式的狀態信息。另一列可能包含引用特定地理特徵的首字母縮略詞。假設我正在查找狀態爲NY的所有行,並且是GRG中的首字母縮寫詞。

我應該使用什麼程序包來處理在讀該工作/數據anlaysis?

如果R中沒有好的軟件包,爲了處理這麼大的數據集,我應該使用什麼?

我所熟悉的R,Python中,辦公室和一些SQL命令。

編輯:我不打算修改數據集,但記錄(打印出或創建一個子集)的查詢結果。我將首先總共有10-12個查詢來確定這個數據集是否真正滿足我的需求。但是後來我可能會有數百個查詢 - 在這一點上,我想從手動查詢數據集切換到自動查詢(如果可能的話)。

+1

是否打算修改和保存這組數據?您主要對數據分析感興趣,還是計劃在企業環境中使用數據集? –

+2

如果你經常這樣做,並且可以訪問linux/mac機器,我會建議在命令行上學習/使用awk。 –

+1

這看起來像一個完美的工作,無論是獨立的('sqlite> .mode csv; sqlite> .import C:/work/somedata.csvtab1')或R內'library(「RSQLite」)' – vaettchen

回答

2

取決於有多少數據是各列,如果你打算做統計分析,我肯定會和R.如果沒有分析,那麼Python與熊貓是一個很好的解決方案。不要使用office來處理這些文件,它會讓你頭疼。

如果您勇敢並且數據量會增加,請根據以前的需要使用R或Python來實現MongoDB。

1

如果你不想把整個文件加載到內存中,我建議使用python庫Pandas

您可以啓用「iterator = True」,然後按塊加載文件塊到內存中,並遍歷每個塊進行分析。 如果您需要任何其他信息,請讓我知道。