2017-07-19 32 views
1

我有近60-70個定時日誌文件(都是.csv文件,總大小接近100MB)。我需要一次性分析這些文件。到目前爲止,我已經嘗試了以下方法:如何非常有效地分析多個csv文件?

  • 將所有這些文件合併爲一個文件並將其存儲在DataFrame(Pandas Python)中並對其進行分析。
  • 將所有csv文件存儲在數據庫表中並進行分析。

我的疑問是,這兩種方法哪種更好?或者還有其他方式來處理和分析這些文件嗎?

謝謝。

+0

答案有幫助嗎?如果是這樣,請隨時接受或注意他們或提出進一步的問題。 – Quickbeam2k1

回答

0

對我來說,我通常會將文件合併到一個DataFrame中,並將其保存爲一個pickle,但是如果合併它,該文件將非常大,並且在使用它時耗盡了大量ram,但是如果您的機器是最快的方式有很多ram。

從長遠來看,存儲數據庫會更好,但是如果要查詢特定的事情,您將浪費時間將csv上傳到數據庫,然後再浪費更多時間從我使用數據庫的經驗中檢索它如果你想從日期A到日期B的日誌,但是如果你使用熊貓來查詢所有這些,那麼這個方法不是很好。

有時對我來說,根據您的使用情況,您甚至可能甚至不需要合併使用文件名作爲查詢和獲取正確日誌的方式(使用文件系統),然後合併您關心的日誌文件只分析,不保存它,你可以將其保存爲將來進一步處理的pickle。

0

究竟是什麼意思分析一次去?

我認爲你的問題(S)可能會使用dask特別是dask dataframe

不過來解決,請注意DASK文檔建議一個大的數據幀的工作,如果它在你的機器的RAM適合舒適。 儘管如此,dask的一個優勢可能是比熊貓有更好的並行或分佈式計算支持。