我有一个包含至少 30 000 个字典的 json 文件。在这里能找到它:
http://openxcplatform.com.s3.amazonaws.com/traces/nyc/downtown-west.json
我浏览了互联网,发现这让我最接近我需要的东西,因为我需要一个一个地阅读 json 文件,将 dicts 作为实际 dict 输入到列表中:
with open("test.json") as data_file:
for x in data_file:
json.dumps(it.append(ast.literal_eval(x)))
我测试了这段代码,它在大多数情况下都有效。我测试了前 2000 个元素,但是,一旦我测试了整个文件,我就会收到这个错误:
File "converter.py", line 58, in <module>
if __name__ == "__main__": main()
File "converter.py", line 34, in main
json.dumps(it.append(ast.literal_eval(x)))
File "/usr/lib/python2.7/ast.py", line 80, in literal_eval
return _convert(node_or_string)
File "/usr/lib/python2.7/ast.py", line 63, in _convert
in zip(node.keys, node.values))
File "/usr/lib/python2.7/ast.py", line 62, in <genexpr>
return dict((_convert(k), _convert(v)) for k, v
File "/usr/lib/python2.7/ast.py", line 79, in _convert
raise ValueError('malformed string')
ValueError: malformed string
任何人都知道为什么会发生这种情况?