我的json文件,嗯,它的一部分看起来像:
[
{
"id": 472,
"name": "אבו גוש",
"engName": "ABU GHOSH"
},
{
"id": 473,
"name": "אבו סנאן",
"engName": "ABU SINAN"
},
{
"id": 1342,
"name": "אבו קורינאת (יישוב)",
"engName": "ABU QUREINAT"
},
]
等等。。在
我的代码部分看起来像:
^{pr2}$它在第二行失败(jsonData=, 我是python新手,没有看到类似的问题, 任何帮助都将不胜感激
谢谢!!在
这两个对我来说非常适合:
import json
import urllib.request
url='https://raw.githubusercontent.com/royts/israel-cities/master/israel-cities.json'
data = urllib.request.urlopen(url).read().decode('utf-8')
json.loads(data)
还有这个:
import json
import requests
r = requests.get('https://raw.githubusercontent.com/royts/israel-cities/master/israel-cities.json')
with open('israelCities.json', 'w') as f:
json.dump(r.json(), f)
with open('israelCities.json') as f:
json_data = json.load(f)
您不需要对该文件调用
read()
。使用json.load()
代替:如果文件是UTF8编码的(git repo israel-cities中的文件是UTF8编码的),则不需要将编码指定为
json.load()
。在更新
从其他答案中的注释来看,您可能正在从github下载并保存该文件。如果你克隆了一个repo,你应该对这个文件没有问题-它已经是UTF8编码的。如果您不确定是否可以使用^{} 库下载该文件并将其显式保存为json:
^{pr2}$你现在肯定可以加载一个文件:
您只需要告诉
loads
编码是什么,而不是尝试将其转换为编码。在所以
会屈服的
但前提是你救了以色列城市.json在编码时先将其命名为“utf-8”!在
这来自您的代码:
json.loads(data_file.read().encode('utf8'))
试图从文件中读取数据,然后将其转换为utf8。在试试这个:
json.loads(data_file.read(), encoding='utf8')
,这意味着:读这个,它被写成utf8。在当然,该文件应该保存为utf-8,否则它将无法工作。在
编辑:
正如@mhawke所建议的那样,通过简化用法,并使用OP的原始文件,它可以:
编辑2:
如果您使用的是Python 3,请尝试以下方法:
^{pr2}$相关问题 更多 >
编程相关推荐