Python:CSV数据的懒惰数据库?

时间:2011-04-09 13:03:15

标签: database csv python

我有一个相对较小(<100K)的数字CSV数据集,我想用一些numpy和pylab实用程序处理和绘图,我想到有可能有一种更好的方法来处理数据而不是荒谬的自定义if-ladder用于吸取相关的实验场景和比较。

如果这些数据是在数据库而不是CSV中,这不会是一个问题,但为了这个而将一个“真正的”数据库实例放在一起似乎是过度的。我正在寻找什么样的pythonic解决方案?

TL; DR想要查询像CSV一样的CSV文件/将CSV移动到迷你数据库中。

3 个答案:

答案 0 :(得分:5)

在不知道您案件的任何具体细节的情况下,我预计您最终会发现以下其中一个梯子作为您的案例的主导:

  • 只需使用内置的Python sqlite3即可。
    • 但是,如果关系模型不是必需的,那么pytables可能是继续进行的方式。
      • 也许,structured arrays可以提供必要的功能。
        • 但只要正确使用普通logic functions,仍然可以实现充足。
          • 毕竟,要熟悉ridiculous custom if-ladders

显然,根据实际情况,上面描绘的任何梯子都将具有其特定的优点和缺点。因此,非常仔细地混合它们可能最终会产生最佳的“整体”结果。

答案 1 :(得分:1)

也许pandas可以帮助你。特别是query函数。

Pandas也可以joins但是那时我会切换到SQL。 一个很小的数据库包装器是dataset

答案 2 :(得分:0)

我曾经开始编写一个名为wavemol的实用程序库。我开发的一个子包是wavemol.fileaccess,它包含一个CSV解析类,允许以更实用的方式访问该文件。点击这里提供的方法。

check here the source

您可能需要先安装wavemol.core。我不再积极开发这个代码了,但是如果你感兴趣并且这些东西对你来说很有用,我可能会找一些时间重新关注它并让它重回正轨(当然,欢迎帮助,但不是必需的使它好一点)。我对它失去了兴趣,因为我改变了工作,我不再需要这些东西了。