擅长:python、mysql、java
<p>我对这个问题的解决方案是用对Python字典的连续修改来替换连续的保存操作:数据存储中的每一行都有一个子字典。使用字典而不是字典列表可以更容易地编写相关的子字典,尽管有两个小麻烦:</p>
<ul>
<li>在字典中复制唯一键</li>
<li>由于Scraperwiki数据存储(IIUC)不接受前一种结构,而是接受后一种结构,因此需要在保存到数据存储之前从字典中生成词典列表。在</li>
</ul>
<p>注意。对于大量的数据行,在一次操作中将字典列表保存到数据存储中要比迭代这些字典并一次将它们保存到数据存储中快得多。在</p>
<p>代码示例:</p>
<pre><code>import scraperwiki
superdictionary = {}
superlist = []
superdictionary['1'] = {"a":1, "b":"Foo"}
superdictionary['1'].update({"c":"Bar"})
superdictionary['2'] = {"a":2, "b":"Grue", "c":"Gnu"}
for subdictionary in superdictionary:
superlist.append(superdictionary[subdictionary])
scraperwiki.sqlite.save(["a"], superlist)
</code></pre>
<p>应产生:</p>
^{pr2}$