我的代码:
import yql
y = yql.Public()
query = 'SELECT * FROM yahoo.finance.option_contracts WHERE symbol="SPY"'
y.execute(query)
结果:
^{pr2}$我知道表的存在是因为我可以在http://developer.yahoo.com/yql/console/处测试查询并且它可以工作。我错过了什么?在
更新:我将url发布到控制台,但没有在控制台中尝试的查询。查询现已附加。在
http://goo.gl/mNXwC
由于
yahoo.finance.option_contracts
表是一个Community Open Data Table,因此您需要将其作为查询环境的一部分。最简单的方法是加载all社区表的环境文件;就像在YQL控制台中单击“showcomunity tables”。在通常可以通过在YQL查询URL中指定一个
env=...
参数,或者在查询本身中使用use
子句来实现。在您使用的Python库允许您将环境文件作为
execute()
的参数传入。在下面是一个扩展
^{pr2}$yql.Public
以在实例化时定义默认环境的示例。在它的用途如下:
如果需要,您仍然可以在对
y.execute()
的单个调用中重写env
。在将查询修改为以下内容是有效的。在
可能存在更优雅的解决方案。如果有,请分享。谢谢。在
相关问题 更多 >
编程相关推荐