使用table.where在PyTables中进行复杂查询

时间:2014-03-05 08:58:38

标签: python where pytables

我该如何做这样的事情:(如果可能的话)

options = {'topLimit': 22.3, 'downLimit': 9}

for row in tab.where('value < options['topLimit']'):
    #whatever
    ...
    ...

我们可以在options['topLimit']条件中放置where或类似内容吗?

如果没有,怎么办呢?

P.D:请注意,这是一个非常简单的例子....我知道这种情况的解决方案是:

for row in tab.where('value < 22.3'):

我正在考虑更复杂的情况。

1 个答案:

答案 0 :(得分:2)

将选项作为condvars参数传递给where:

options = {'topLimit': 22.3, 'downLimit': 9}

for row in tab.where('value < topLimit', options):
    #whatever

有关详细信息,请参阅文档[1]。

  1. http://pytables.github.io/usersguide/libref/structured_storage.html?highlight=where#tables.Table.where