【问题标题】:How to analyse multiple csv files very efficiently?如何非常有效地分析多个 csv 文件?
【发布时间】:2017-07-19 05:38:34
【问题描述】:

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

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

我的疑问是,这两种方法哪个更好?或者有没有其他方法来处理和分析这些文件?

谢谢。

【问题讨论】:

  • 这些答案有帮助吗?如果是这样,请随时接受或投票或提出更多问题。

标签: python database pandas csv


【解决方案1】:

对我来说,我通常将文件合并到 DataFrame 中并将其保存为泡菜,但如果您合并它,文件会非常大并且在您使用它时会占用大量内存,但如果您的机器有,这是最快的方法很多内存。

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

有时对我来说,根据您的用例,您甚至可能不需要合并它,使用文件名作为查询和获取正确日志以处理(使用文件系统)的一种方式,然后合并您与分析有关的日志文件只是不要保存它,您可以将其保存为泡菜以供将来进一步处理。

【讨论】:

    【解决方案2】:

    什么是一次性分析?

    我认为您的问题可以使用dask 尤其是dask dataframe 来解决

    但是,请注意 dask 文档建议使用一个大数据帧,前提是它可以舒适地放入您机器的 RAM 中。 尽管如此,dask 的一个优势可能是比 pandas 具有更好的并行化或分布式计算支持。

    【讨论】:

      猜你喜欢
      • 2016-11-21
      • 1970-01-01
      • 2019-04-02
      • 1970-01-01
      • 2012-05-09
      • 1970-01-01
      • 1970-01-01
      • 2019-11-15
      • 1970-01-01
      相关资源
      最近更新 更多