如何非常有效地分析多个csv文件?

时间:2017-07-19 05:38:34

标签: python database pandas csv

我有近60-70个计时日志文件(都是.csv文件,总大小近100MB)。我需要一次性分析这些文件。直到现在,我已经尝试了以下方法:

  • 将所有这些文件合并到一个文件中并将其存储在DataFrame(Pandas Python)中并进行分析。
  • 将所有csv文件存储在数据库表中并进行分析。

我怀疑,这两种方法中的哪一种更好?或者还有其他方法来处理和分析这些文件吗?

感谢。

2 个答案:

答案 0 :(得分:0)

对我来说,我通常会将文件合并到一个DataFrame中并将其保存为pickle但是如果你合并它,那么文件会很大并且当你使用它时会用掉很多ram但是如果你的机器有这个是最快的方法很多公羊。

从长远来看,存储数据库会更好,但是你会浪费时间将csv上传到数据库,然后浪费更多的时间从我使用数据库的经验中检索它,如果你想从中查询特定的东西表,比如你想要一个从日期A到日期B的日志,但是如果你使用pandas来查询所有这些,那么这个方法不是很好。

根据您的使用情况,我可能根本不需要合并它使用文件名作为查询和获取正确的日志进行处理(使用文件系统)然后合并您关注的日志文件与分析只是并且不保存它,你可以将其保存为未来进一步处理的泡菜。

答案 1 :(得分:0)

究竟什么意味着一次性分析?

我认为您的问题可能会使用dask解决,特别是dask dataframe

但是,请注意,dask文档建议使用一个大数据帧,如果它适合您机器的RAM。 然而,dask的一个优点可能是拥有比熊猫更好的并行或分布式计算支持。