将JSON文件读入文件时出错
我正在尝试将JSON文件读入Pandas。这是一个相对较大的文件(41k条记录),大部分是文本将JSON文件读入文件时出错,json,pandas,import,Json,Pandas,Import,我正在尝试将JSON文件读入Pandas。这是一个相对较大的文件(41k条记录),大部分是文本 {"sanders": [{"date": "February 8, 2016 Monday", "source": "Federal News Service", "subsource": "MSNBC \"MSNBC Live\" Interview with Sen. Bernie Sanders (I-VT), Democratic", "quotes": ["Well
{"sanders": [{"date": "February 8, 2016 Monday", "source": "Federal News
Service", "subsource": "MSNBC \"MSNBC Live\" Interview with Sen. Bernie
Sanders (I-VT), Democratic", "quotes": ["Well, it's not very progressive to
take millions of dollars from Wall Street as well.", "That's a very good
question, and I wish I could give her a definitive answer. QUOTE SHORTENED FOR
SPACE"]}, {"date": "February 7, 2016 Sunday", "source": "CBS News Transcripts", "subsource": "SHOW: CBS FACE THE NATION 10:30 AM EST", "quotes":
["Well, John -- John, I think that`s a media narrative that goes around and
around and around. I don`t accept that media narrative.", "Well, that`s what
she said about Barack Obama in 2008. "]},
我试过:
quotes = pd.read_json("/quotes.json")
我希望它能清晰地读入,因为它是用python创建的文件。然而,我得到了这个错误:
ValueError Traceback (most recent call last)
<ipython-input-19-c1acfdf0dbc6> in <module>()
----> 1 quotes = pd.read_json("/Users/kate/Documents/99Antennas/Client\
Files/Fusion/data/quotes.json")
/Users/kate/venv/lib/python2.7/site-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)
208 obj = FrameParser(json, orient, dtype, convert_axes,
convert_dates,
209 keep_default_dates, numpy, precise_float,
--> 210 date_unit).parse()
211
212 if typ == 'series' or obj is None:
/Users/kate/venv/lib/python2.7/site-packages/pandas/io/json.pyc in parse(self)
276
277 else:
--> 278 self._parse_no_numpy()
279
280 if self.obj is None:
/Users/kate/venv/lib/python2.7/site-packages/pandas/io/json.pyc in _
parse_no_numpy(self)
493 if orient == "columns":
494 self.obj = DataFrame(
--> 495 loads(json, precise_float=self.precise_float),
dtype=None)
496 elif orient == "split":
497 decoded = dict((str(k), v)
ValueError: Expected object or value
ValueError回溯(最近一次调用)
在()
---->1 quotes=pd.read_json(“/Users/kate/Documents/99antens/Client”
文件/Fusion/data/quotes.json”)
/中的Users/kate/venv/lib/python2.7/site-packages/pandas/io/json.pyc
读取json(路径、方向、类型、数据类型、转换轴、转换日期、,
保留默认日期、numpy、精确浮动、日期单位)
208 obj=FrameParser(json、orient、dtype、convert_轴、,
转换日期,
209保留默认日期、numpy、精确浮点、,
-->210日期(单位)。解析()
211
212如果类型==“系列”或obj为无:
/解析中的Users/kate/venv/lib/python2.7/site-packages/pandas/io/json.pyc(self)
276
277其他:
-->278 self.\u parse\u no\u numpy()
279
280如果self.obj为无:
/Users/kate/venv/lib/python2.7/site-packages/pandas/io/json.pyc in_
解析\u no\u numpy(self)
493如果方向=“列”:
494 self.obj=数据帧(
-->495次加载(json,精确浮点=self.precise浮点),
数据类型=无)
496 elif orient==“分割”:
497解码=dict((str(k),v)
ValueError:预期的对象或值
在阅读了文档和stackoverflow之后,我还尝试向参数中添加了
convert_dates=False
,但这并没有纠正问题。我欢迎您提供有关如何处理此错误的建议。尝试删除文件名中的正斜杠。如果您从文件所在的同一目录运行此python代码坐着,它应该会起作用
quotes = pd.read_json("quotes.json")
SPKoder提到了正斜杠。当我意识到在组合文件名和路径时没有添加/时,我正在寻找答案(即c:/path/herefile.json,而不是c:/path/here/file.json)。总之,我收到的错误是
ValueError: Expected object or value
这不是一条非常直观的错误消息,但正是原因。tks SPKoder,但这似乎不是问题所在。路径正确,将它们移动到同一目录并不能解决此错误。这似乎是日期字段的解析问题。某些日期不符合要求。但是,我需要读取数据来清除它。KateStohr-请提供一个包含不符合日期字段的数据样本,以便我们重现您的问题。问题中的样本数据加载时不会出错。此外,您希望结果采用什么格式?在您提供的示例中,我认为Pandas甚至不会尝试解析日期。“Sanders”将是一个列标签,关联列表中的每个条目将是一行。每个单元格都包含一个带有日期、源、子源和引号的字符串…Tks SPKoder…我最终得到了一个csv版本,并能够剥离不符合要求的日期。这不是一个很好的解决方案,但谢谢。这里也有同样的问题,不知怎么的,PyCharm(IDE)我想把数据目录作为工作目录。显然,相对路径会失败。。。