Python 板


LINE

※ 引述《cal0712 (冷静 沉着 坚持)》之铭言: : 板上各为前辈好 : 小弟这边有个JSON档大概500MB左右 但一直无法顺利读入 : import ijson : f = open('news_780796.json',mode='rb') : for url in ijson.items(f,'url'): #"url", "timestamp" : print(url) : 会出现MemoryError : 环境 : Windows XP : Python 3.3 : 6GB RAM : 想请问板上高手 首先,假设你的资料长这样 [ { "number": 0.4403575089792299, "time": 1432698303.83547, "uuid": "e8db5958-6603-452a-9876-0603cca59c69" }, { "number": 0.629411577618495, "time": 1432698303.835664, "uuid": "7e96f0e1-c83b-4284-bba3-0e38b6886221" }, { "number": 0.4546546489717844, "time": 1432698303.835828, "uuid": "ce41814c-58bc-419f-9233-5caa2a2e3d98" }, ........(略)........ ] : 1.如果完全不知道内部格式 想要只读入前10笔资料怎麽个写法呢? import ijson from itertools import islice with open('news_780796.json', mode='rb') as f: arr = ijson.items(f, 'item') tar = list(islice(arr, 0, 5)) 这边'item'指的是该json里面的每一个item 参考来源: http://stackoverflow.com/a/19996701/1105489 : 2.如果想要全部读入来处理的话 应该怎麽写呢? 这边不是很懂您的意思 是说「全部读进记忆体」吗? (你不是说这样会有Memory Error?) 如果 是: 假设您没有要用python内建的json模组 而是使用ijson的话 可以这样做: with open('news_780796.json', mode='rb') as f: arr = ijson.items(f, '') tar = list(arr) 这边tar会以整个list读进来 所以请再多一步 tar = tar[0] 参考来源: http://stackoverflow.com/a/25079108/1105489 如果 不是 如果是说要怎样处理完这个json 可以这样做: with open('news_780796.json', mode='rb') as f: arr = ijson.items(f, 'item') while True: try: obj = next(arr) # 在这里做你想要做的事情 except StopIteration: break : 3.如果要处理这样的档案 系统的配置建议应该是怎麽样呢? 这个已经有大大在推文中回应了 Python 要用64位元的版本 当然前提是你的作业系统也要是64位元的 详细可参考: http://stackoverflow.com/a/4441958/1105489 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.147.132
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1432703870.A.8D0.html ※ 编辑: amigcamel (140.112.147.131), 05/27/2015 15:22:31
1F:→ cal0712: 已用您的方式尝试成功 感谢amigcamel大大的协助 06/01 01:10







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP