【发布时间】:2019-03-05 15:36:22
【问题描述】:
我有一个 JSON 文件,创建者说它不是“严格”的 JSON,并提供了 python 代码将其转换为严格的 JSON。我是 python 新手,不断收到错误消息。
JSON 示例:
{'asin': '0078764343', 'description': 'Brand new sealed!', 'price': 37.98, 'imUrl': 'http://ecx.images-amazon.com/images/I/513h6dPbwLL._SY300_.jpg', 'related': {'also_bought': ['B000TI836G', 'B003Q53VZC', 'B00EFFW0HC', 'B003VWGBC0', 'B003O6G5TW', 'B0037LTTRO', 'B002I098JE', 'B008OQTS0U', 'B005EVEODY', 'B008B3AVNE', 'B000PE0HBS', 'B00354NAYG', 'B0050SYPV2', 'B00503E8S2', 'B0050SY77E', 'B0022TNO7S', 'B0056WJA30', 'B0023CBY4E', 'B002SRSQ72', 'B005EZ5GQY', 'B004XACA60', 'B00273Z9WM', 'B004HX1QFY', 'B002I0K50U'], 'bought_together': ['B002I098JE'], 'buy_after_viewing': ['B0050SY5BM', 'B000TI836G', 'B0037LTTRO', 'B002I098JE']}, 'salesRank': {'Video Games': 28655}, 'categories': [['Video Games', 'Xbox 360', 'Games']]}
Python 代码:
import json
import gzip
def parse(file_path=r"c:\Users\kiero\PycharmProjects\untitled\source\reviews_Video_Games.json.gz"):
g = gzip.open(file_path, 'r')
for l in g:
yield json.dumps(eval(l))
f = open("C:\\Users\\kiero\\PycharmProjects\\untitled\\source\\reviews_Video_Games.json.gz",'w')
for l in parse("C:\\Users\\kiero\\PycharmProjects\\untitled\\source\\reviews_Video_Games.json.gz"):
f.write(l + '\n')
该过程继续完成,没有对任何文件进行编辑。此外,该脚本运行时间不到一秒钟。没有错误信息。 任何帮助将不胜感激。
【问题讨论】:
-
path到底是什么? -
我假设路径是文件路径
-
meta_Video_Games.json.gz - 您需要提供此文件的正确路径。这个文件存储在哪里?
-
在 D 盘。所以路径是“D:\\meta_Video_Games.json.gz”
-
尝试将其传递给“解析”函数。