我试图用json-data读取文件,使用loads(data)simplejson方法并解压缩创建一个字典来表示记录中每列的值,而不是使用“标准”或记录的方式:
for obj in serializers.deserialize("json", data):
# do something with obj
因为我想避免为每条记录创建django orm对象,我只想要一个代表每个对象的字典,这样我就可以使用普通的SQL将其插入到数据库中以获得增益。问题是加载(数据)需要将所有数据读入内存,我想避免这样做以保持低内存使用率并读取json数据中的条目。是否有可能获得一个产生一条记录数据的迭代器?其次,我可以在反序列化json数据时跳过django orm对象的整个创建,并获取值的字典吗?
欢迎投入和想法。
感谢您的时间。
答案 0 :(得分:1)
如果您不想创建ORM对象,则使用Django反序列化方法毫无意义。只需使用基础simplejson
库加载JSON:
from django.utils import simplejson
my_data = simplejson.loads(data)