【发布时间】:2015-04-07 06:30:00
【问题描述】:
我正在使用 Twitter Python 库收集推文。由于内存问题,我不能先将所有字典组合在一个列表中,然后将其转储到文件中。因此,我想每隔几次迭代就将字典保存到磁盘上,比如在收集每 1000 个字典之后。有没有办法解决这个问题?
如果我直接转储字典而不先将它们放入列表中,则在从文件中检索 json 时会出现以下错误:
File "read_json.py", line 6, in <module>
jline = json.loads(line,"utf-8")
File "/usr/lib/python2.7/json/__init__.py", line 351, in loads
return cls(encoding=encoding, **kw).decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 369, in decode
raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 1 column 454154 - line 1 column 4100740 (char 454153 - 4100739)
在解决了这些错误的 Stackoverflow 问题后,我明白应该将字典组合成一个类似列表的对象,然后转储 - 这是我做不到的。
【问题讨论】:
标签: python json python-2.7 dictionary