基本上,我正在尝试将来自Solr服务器的查询响应转换为可以传递给第三方api的json对象。但是,根据我的下面的代码,我无法做到:
import solr
import json
if __name__=='__main__':
s = solr.SolrConnection('http://localhost:8983/solr')
op = open('output.json','w')
for term in ['searchstring1','searchstring2','searcstring']:
t = s.query('title:%s'%term,rows=100, wt='json')
for news in t.results:
op.write(news)
输出:回溯(最近一次呼叫最后): 文件“querying.py”,第11行,in op.write(新闻) TypeError:期望一个字符缓冲区对象
我已经非常简要地阅读了Solr,并且发现了这个solrpy库以json格式存储查询结果。在这方面的任何帮助将不胜感激。
答案 0 :(得分:0)
您正在尝试将实际的python字典写入该文件,而不是它的json表示。错误消息试图告诉您,您传入的对象不能直接用作字符缓冲区。在将JSON表示写入文件之前,尝试使用json.dumps
创建JSON表示。