Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 过滤器中带引号的扫描会引发错误_Python 3.x_Hbase_Thrift_Happybase - Fatal编程技术网

Python 3.x 过滤器中带引号的扫描会引发错误

Python 3.x 过滤器中带引号的扫描会引发错误,python-3.x,hbase,thrift,happybase,Python 3.x,Hbase,Thrift,Happybase,我正在使用Happybase/python从hbase获取数据,我已经使用了一些过滤,但由于某些原因,现在它无法工作 我的扫描代码的过滤器如下所示: f = "SingleColumnValueFilter ('input', '', =,'substring:{}')".format(keywork) res = pTable.scan(reverse=True,limit=1000, filter= f.encode('utf-8')) 哪个btw现在工作此输入列有如下记录: "{'ins

我正在使用Happybase/python从hbase获取数据,我已经使用了一些过滤,但由于某些原因,现在它无法工作

我的扫描代码的过滤器如下所示:

f = "SingleColumnValueFilter ('input', '', =,'substring:{}')".format(keywork)
res = pTable.scan(reverse=True,limit=1000, filter= f.encode('utf-8'))
哪个btw现在工作此
输入列有如下记录:

"{'institution_id': '023', 'application_id': '01', 'channel_id...}"
问题是,如果我将
关键字
设置为:

keywork = "instition_id"
它是有效的,但显然这不是我所需要的,所以当它与我所寻找的价值结合时:

keywork = "instition_id': '"+ my_value
我得到
thriftpy.transport.ttTransportException:ttTransportException(type=4,message='TSocket read 0 bytes')

经过新的测试,我得出结论,问题在于单引号,但我不知道为什么或如何解决它。 我试过
keywork=“institution\u id\”:“
keywork='institution\u id\”:“
这些都不起作用。这可能是一些愚蠢的事情,但它让我发疯


我在考虑正则表达式,也许我会给它一些类似于机构id的东西:?我的值
告诉它任何字符都可以,但我对正则表达式一无所知,所以…

你认为正则表达式很好,我不知道为什么连转义引号都不起作用(我希望知道这一点的人能向我们解释),但这里有一些东西可以让你走:

f = "SingleColumnValueFilter ('input', '', =,'regexstring:.*institution_id.: ." + your_value + ".*')"
表示任何字符,因此引号这次不会触发错误。
我也是正则表达式的初学者,所以我希望任何人都能改进、编辑这一行。

这对我来说很有效,我尽量避免使用正则表达式,因为我不擅长使用正则表达式,但我们现在就来了,非常感谢。