【发布时间】:2015-01-22 22:18:21
【问题描述】:
我正在尝试将 json 文件转换为表格格式,其中第一行中有不同的字段,其余行中有这些字段的相应数据。
将我的 json 转换为文本,这就是数据的样子(只是添加一些上下文的小示例)
{"business_id": "O_X3PGhk3Y5JWVi866qlJg", "full_address": "1501 W Bell Rd\nPhoenix, AZ 85023", "hours": {"Monday": {"close": "18:00" , "open": "11:00"}, "Tuesday": {"close": "18:00", "open": "11:00"}, "Friday": {"close": "18: 00”,“开”:“11:00”},“周三”:{“收盘”:“18:00”,“开盘”:“11:00”},“周四”:{“收盘”:“ 18:00”、“开盘”:“11:00”}、“周日”:{“收盘”:“18:00”、“开盘”:“11:00”}、“周六”:{“收盘” : "18:00", "open": "11:00"}}, "open": true, "categories": ["Active Life", "Arts & Entertainment", "Stadiums & Arenas", "Horse Racing" "], "city": "Phoenix", "review_count": 29, "name": "Turf Paradise Race Course", "neighborhoods": [], "longitude": -112.0923293, "state": "AZ", “星星”:4.0,“纬度”:33.638572699999997,“属性”:{“外卖”:假,“Wi-Fi”:“免费”,“适合”:{“甜点”:假,“深夜” :假,“午餐”:假,“晚餐”:假,“早午餐”:假,“早餐”:假},“噪音水平”:“平均”,“预订”:真,“有电视”:真, "交付": fals e,“氛围”:{“浪漫”:假,“亲密”:假,“旅游”:假,“时髦”:假,“潜水”:假,“优雅”:假,“时尚”:假,“高档”:假,“休闲”:假},“停车”:{“车库”:假,“街道”:假,“已验证”:假,“很多”:真,“代客”:真},“轮椅无障碍”:真,“户外座位”:真,“着装”:“休闲”,“酒精”:“full_bar”,“服务员服务”:真,“接受信用卡”:真,“适合儿童”:假, "Good For Groups": true, "Price Range": 2}, "type": "business"}
我的初始代码有些问题:
import json
data=json.load(open('yelp_academic_dataset_user.json'))
我收到以下错误。
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-20-fbf46968052d> in <module>()
1
2 import json
----> 3 data=json.load(open('yelp_academic_dataset_user.json'))
C:\Users\ankit.gadodia\AppData\Local\Continuum\Anaconda\lib\json\__init__.pyc in load(fp, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
288 parse_float=parse_float, parse_int=parse_int,
289 parse_constant=parse_constant, object_pairs_hook=object_pairs_hook,
--> 290 **kw)
291
292
C:\Users\ankit.gadodia\AppData\Local\Continuum\Anaconda\lib\json\__init__.pyc in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
336 parse_int is None and parse_float is None and
337 parse_constant is None and object_pairs_hook is None and not kw):
--> 338 return _default_decoder.decode(s)
339 if cls is None:
340 cls = JSONDecoder
C:\Users\ankit.gadodia\AppData\Local\Continuum\Anaconda\lib\json\decoder.pyc in decode(self, s, _w)
367 end = _w(s, end).end()
368 if end != len(s):
--> 369 raise ValueError(errmsg("Extra data", s, end, len(s)))
370 return obj
371
ValueError: Extra data: line 2 column 1 - line 70818 column 1 (char 259 - 26982351)
有人可以解释我如何纠正这个或其他方式开始。到目前为止,我看到的所有其他示例都涉及 json.load 函数。 我什至尝试了 file.read() 函数,但这也给出了错误
【问题讨论】:
-
不要尝试将Python代码发布为可执行代码sn-ps;仅适用于 JavaScript(至少在今天)。只需使用纯代码块。 (我会为你解决这个问题。)