从json文件创建pandas数据帧;得到内存错误

时间:2016-01-24 22:29:11

标签: python json pandas dataframe bigdata

我试图将json文件读入pandas数据帧:

df = pd.read_json('output.json',orient='index')

但我收到了错误:

/usr/local/lib/python2.7/dist-packages/pandas/io/json.pyc 
in read_json(path_or_buf, orient, typ, dtype, convert_axes, 
convert_dates,keep_default_dates, numpy, precise_float, date_unit)
196         if exists:
197             with open(filepath_or_buffer, 'r') as fh:
--> 198                 json = fh.read()
199         else:
200             json = filepath_or_buffer

MemoryError: 

我也试过用gzip阅读它:

def parse(path):
  g = gzip.open(path, 'rb')
  for l in g:
  yield eval(l)

def getDF(path):
 i = 0
 df = {}

 for d in parse(path):
   df[i] = d
   i +=1
   #if i == 10000: break ## hack for local testing

 return pd.DataFrame.from_dict(df,orient='index')

 pathname ='./output.json.gz'
 df = getDF(pathname)

但是会出现分段错误。我如何读取这个大的json文件(或json.gz)?

json文件的头部如下所示:

{" reviewerID":" ARMDSTEI0Z7YW"," asin":" 0077614992"," reviewerName":& #34; dodo","有用":[0,0]," unixReviewTime":1360886400," reviewText":"这本书是大学课程的要求。可以使用,虽然它对我的特定班级并没有太多使用,#34;"总体":5.0," reviewTime":" 02 15,2013& #34;,"摘要":"伟大"} {" reviewerID":" A3FYN0SZYWN74"," asin":" 0615208479"," reviewerName":" Marilyn Mitzel","有用":[0,0]," unixReviewTime":1228089600," reviewText":"这是一个很棒的礼物对于任何想要坚持他们已经拥有或得到他们已经失去的东西的人。我为我77岁的妈妈和我自己买了它。我55岁,像那个年龄的许多人一样,我的记忆开始下滑。你知道它是怎么回事。无法记住我把钥匙放在哪里,不记得名字而忘记了数字。作为一名医学记者,我正在研究锻炼大脑的重要性。我听说过BrainAerobics,它可以帮助改善甚至恢复记忆。我没有什么可失去的,妈妈也没有,所以我们尝试了它,实际上它的效果令人惊讶。我的记忆力很快得到改善。我曾经不得不为自己写一些关于每件事的笔记。不再。我可以记住我的杂货清单和差事而不写下来。我现在甚至可以记住电话号码。你必须继续这样做。就像每周去健身房锻炼几次一样,你必须为你的大脑做同样的事情。但它很有趣,给你一种新的自信,因为你感觉更加敏锐。在你的游戏之上可以这么说。在今天这个竞争激烈的世界中,重要的是要跟上年轻人在劳动力中的地位。至于妈妈,她的中风超过两年前,我们认为她永远不会重新获得更多的脑力,但她的思想继续改善。自从她定期进行BrainAerobics项目以来的最近几个月,我们注意到了很大的不同。她迷上了它,我们是信徒.Marilyn Mitzel / Aventura,FL","整体":5.0," reviewTime":" 12 1, 2008","摘要":"惊人的快速工作!"} {" reviewerID":" A2J0WRZSAAHUAP"," asin":" 0615269990"," reviewerName":" icu-rn","有用":[0,0]," unixReviewTime":1396742400," reviewText":"非常有助于学习关于不同的疾病过程和易于理解。你不必是一名医学生。你也可以单独或与几个玩家一起玩#34;,"整体":5.0," reviewTime":" 04 6,2014","摘要& #34;:"必须有"}

0 个答案:

没有答案