当前位置: 首页 > 面试题库 >

将包含多行JSON的文件加载到Pandas中

白宏义
2023-03-14
问题内容

我正在尝试将JSON文件读入Python熊猫(0.14.0)数据帧中。这是JSON文件的第一行:

{"votes": {"funny": 0, "useful": 0, "cool": 0}, "user_id": "P_Mk0ygOilLJo4_WEvabAA", "review_id": "OeT5kgUOe3vcN7H6ImVmZQ", "stars": 3, "date": "2005-08-26", "text": "This is a pretty typical cafe.  The sandwiches and wraps are good but a little overpriced and the food items are the same.  The chicken caesar salad wrap is my favorite here but everything else is pretty much par for the course.", "type": "review", "business_id": "Jp9svt7sRT4zwdbzQ8KQmw"}

我正在尝试执行以下操作:df = pd.read_json(path)

我收到以下错误(具有完整的追溯):

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/d/anaconda/lib/python2.7/site-packages/pandas/io/json.py", line 198, in read_json
    date_unit).parse()
  File "/Users/d/anaconda/lib/python2.7/site-packages/pandas/io/json.py", line 266, in parse
    self._parse_no_numpy()
  File "/Users/d/anaconda/lib/python2.7/site-packages/pandas/io/json.py", line 483, in _parse_no_numpy
    loads(json, precise_float=self.precise_float), dtype=None)
ValueError: Trailing data

有什么Trailing data错误?如何将其读入数据框?

遵循一些建议,以下是.json文件的几行:

{"votes": {"funny": 0, "useful": 0, "cool": 0}, "user_id": "P_Mk0ygOilLJo4_WEvabAA", "review_id": "OeT5kgUOe3vcN7H6ImVmZQ", "stars": 3, "date": "2005-08-26", "text": "This is a pretty typical cafe.  The sandwiches and wraps are good but a little overpriced and the food items are the same.  The chicken caesar salad wrap is my favorite here but everything else is pretty much par for the course.", "type": "review", "business_id": "Jp9svt7sRT4zwdbzQ8KQmw"}
{"votes": {"funny": 0, "useful": 0, "cool": 0}, "user_id": "TNJRTBrl0yjtpAACr1Bthg", "review_id": "qq3zF2dDUh3EjMDuKBqhEA", "stars": 3, "date": "2005-11-23", "text": "I agree with other reviewers - this is a pretty typical financial district cafe.  However, they have fantastic pies.  I ordered three pies for an office event (apple, pumpkin cheesecake, and pecan) - all were delicious, particularly the cheesecake.  The sucker weighed in about 4 pounds - no joke.\n\nNo surprises on the cafe side - great pies and cakes from the catering business.", "type": "review", "business_id": "Jp9svt7sRT4zwdbzQ8KQmw"}
{"votes": {"funny": 0, "useful": 0, "cool": 0}, "user_id": "H_mngeK3DmjlOu595zZMsA", "review_id": "i3eQTINJXe3WUmyIpvhE9w", "stars": 3, "date": "2005-11-23", "text": "Decent enough food, but very overpriced. Just a large soup is almost $5. Their specials are $6.50, and with an overpriced soda or juice, it's approaching $10. A bit much for a cafe lunch!", "type": "review", "business_id": "Jp9svt7sRT4zwdbzQ8KQmw"}

根据规范,我正在使用的.json文件每行包含一个JSON对象

我按照建议尝试了jsonlint.com网站,它给出了以下错误:

Parse error on line 14:
...t7sRT4zwdbzQ8KQmw"}{    "votes": {
----------------------^
Expecting 'EOF', '}', ',', ']'

问题答案:

从Pandas的0.19.0版开始,您可以使用lines参数,如下所示:

import pandas as pd

data = pd.read_json('/path/to/file.json', lines=True)


 类似资料:
  • 我正在尝试用Python加载和解析一个JSON文件。但我无法加载文件: 收益率:

  • 问题内容: 我是python和pandas的新手。我正在尝试将文件加载到熊猫中。 这是我正在尝试的错误,也是我得到的: 问题答案: 注 :由于17.0气馁:使用替代 文档列出了一个.from_csv函数,该函数似乎可以执行您想要的操作: 如果您有标题,则可以传递。

  • 问题内容: 我有多个包含不同类型的txt文件的zip文件。如下所示: 如何使用pandas读取每个文件而不提取它们? 我知道每个zip文件是否为1个文件,我可以对read_csv使用压缩方法,如下所示: 任何有关如何执行此操作的帮助都将非常有用。 问题答案: 你可以传递到构建从包装成一个多文件一个CSV文件。 码: 将所有内容读入字典的示例:

  • 问题内容: 我试图将我的网站从基于XML的配置文件迁移到基于JSON的配置文件。有没有一种方法可以加载文件,使其变成对象?我一直在搜索网络,但找不到。我已经将文件转换并另存为。我宁愿不使用第3方库。 问题答案: 您 确实 应该使用已建立的库,例如Newtonsoft.Json(甚至Microsoft都使用MVC和WebAPI等框架),或者.NET的内置JavascriptSerializer。 这

  • 我有一个文件。 使用Pandas,从这个文件中获得两个DataFrame和的最佳策略是什么? 输入如下所示: 到目前为止,我想到的最好的方法是转换这个文件转换为Excel工作簿(),将表格拆分为工作表并使用: 然而: 这种方法需要模块。 这些日志文件必须被实时分析,这样就可以更好地找到一种方法来分析它们,因为它们来自日志。 真正的日志比那两个有更多的表。

  • 问题内容: 我一直试图将多个文件加载到一个表中,以便它们适合同一行。 我可以将它们分别插入,但是问题出在值之内,因此我打算加入该表。如果发生这种情况,我会得到太多的值-无用的数据。 我实际上研究过的另一件事是将文件与 但是,它变成了一个烂摊子。如果第一种方法不起作用,那么我可以使用第二种方法,但是我也需要有关它的建议。 问题答案: 您可以将4个文件加载到4个(临时)表中(每个表都有一个自动编号的字