我在Ruby中有一个使用scraperwiki
gem的脚本。在此脚本的目录中,有一个标题为scraperwiki.sqlite
的文件。
items.each do |x|
if ScraperWiki.select("* from data where .... { x['key123']}'").empty?
ScraperWiki.save_sqlite(['key123'], x)
else
puts "Skipping already saved record " + record['key123']
end
end
但是当我运行它时,我收到一个错误:
/Users/alex/.rvm/gems/ruby-2.1.2/gems/sqlite_magic-0.0.3/lib/sqlite_magic.rb:49:in `rescue in execute': no such table: data (SqliteMagic::NoSuchTable)
from /Users/alex/.rvm/gems/ruby-2.1.2/gems/sqlite_magic-0.0.3/lib/sqlite_magic.rb:42:in `execute'
from /Users/alex/.rvm/gems/ruby-2.1.2/gems/scraperwiki-3.0.2/lib/scraperwiki.rb:186:in `select'
答案 0 :(得分:1)
两件事:
swdata
)表swdata
,而不是data
注意:swdata
是默认值,但您可以使用参数/配置变量将table_name更改为data
。
另请注意:此创建保存(非查询)不一定是ScraperWiki的宝石的一部分,而是它https://github.com/openc/sqlite_magic的依赖方式。要查看自己,请查看https://github.com/openc/sqlite_magic/blob/master/lib/sqlite_magic.rb处的代码,了解#create_table
仅来自#insert_or_update
和#save_data