我有一个千兆字节的JSON文件。该文件由每个不超过几千个字符的JSON对象组成,但是记录之间没有换行符。使用Python 3和json模块,如何一次从文件读取一个JSON对象到内存?数据在纯文本文件中。这是类似记录的示例。实际记录包含许多嵌套的字典和列表。以可读格式记录:{ "results": { "__metadata": { "type": "DataServiceProviderDemo.Address" }, "Street": "NE 228th", "City": "Sammamish", "State": "WA", "ZipCode": "98074", "Country": "USA" } }}实际格式。新记录一个接一个地开始,没有任何中断。{"results": { "__metadata": {"type": "DataServiceProviderDemo.Address"},"Street": "NE 228th","City": "Sammamish","State": "WA","ZipCode": "98074","Country": "USA" } } }{"results": { "__metadata": {"type": "DataServiceProviderDemo.Address"},"Street": "NE 228th","City": "Sammamish","State": "WA","ZipCode": "98074","Country": "USA" } } }{"results": { "__metadata": {"type": "DataServiceProviderDemo.Address"},"Street": "NE 228th","City": "Sammamish","State": "WA","ZipCode": "98074","Country": "USA" } } }
3 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
如果您的JSON文档包含一个对象列表,并且您想一次读取一个对象,则可以为该作业使用迭代JSON解析器ijson。仅当需要解码下一个对象时,它才会从文件中读取更多内容。
请注意,您应该将它与YAJL库一起使用,否则您可能看不到任何性能提高。
话虽如此,除非您的文件很大,否则将其完全读取到内存中,然后使用普通的JSON模块进行解析可能仍然是最好的选择。
添加回答
举报
0/150
提交
取消