pytables から値を取得する方法に問題があります。値はビット ベースですが、整数として格納されます。
私のテーブルの1つの列はInt32Column()
name'Value'
です。この列には、すべてのビットが異なる意味を持つ整数値を格納します。したがって、あるビットの情報が必要な場合は、テーブルから値を取得し、ビット操作アクションを実行します。テーブルから指定された値を取得するためのクエリを作成する方法がわかりません。
たとえば、Value
最初のビット == 1 と 3 番目のビット ==1 である列のすべての値を知りたいとします。
そのクエリを作成する方法は?私はマスクを試しています:
[ x['Value'] for x in table.where('((Value & mask) == mask)')]
しかし、私は例外を取得しています:
NotImplementedError: unsupported operand types for \*and\*: int, int
今後大量の行が発生するため、クエリの処理は非常に高速である必要があります。制限の 1 つは、サーバーから int 形式で値を取得しているため、値はテーブル内の int 値でなければならないということです。誰かがより良い解決策を持っていることを願っています。