如何将 json 文件读入 python?
How do I read a json file into python?
我是 JSON 和 Python 的新手,我们将不胜感激。
我读到 json.loads 但很困惑
如何使用 json.loads 将文件读入 Python?
下面是我的 JSON 文件格式:
{
"header": {
"platform":"atm"
"version":"2.0"
}
"details":[
{
"abc":"3"
"def":"4"
},
{
"abc":"5"
"def":"6"
},
{
"abc":"7"
"def":"8"
}
]
}
我的要求是详细阅读所有 "abc"
"def"
的值,并将其添加到新列表中,例如 [(1,2),(3,4),(5,6),(7,8)]
。新列表将用于创建 spark 数据框。
打开文件,获取文件句柄:
fh = open('thefile.json')
https://docs.python.org/2/library/functions.html#open
然后,将文件句柄传递给 json.load():(不要使用加载 - 用于字符串)
import json
data = json.load(fh)
https://docs.python.org/2/library/json.html#json.load
从那里,您可以轻松处理代表 json 编码数据的 python 字典。
new_list = [(detail['abc'], detail['def']) for detail in data['details']]
请注意,您的 JSON 格式也有误。您将在许多地方需要逗号分隔符,但这不是问题所在。
我正在尽力理解你的问题,但它的格式似乎很糟糕。
首先,您的 json blob 无效 json,它缺少很多逗号。这可能是您正在寻找的:
{
"header": {
"platform": "atm",
"version": "2.0"
},
"details": [
{
"abc": "3",
"def": "4"
},
{
"abc": "5",
"def": "6"
},
{
"abc": "7",
"def": "8"
}
]
}
现在假设您正在尝试在 python 中解析它,您将必须执行以下操作。
import json
json_blob = '{"header": {"platform": "atm","version": "2.0"},"details": [{"abc": "3","def": "4"},{"abc": "5","def": "6"},{"abc": "7","def": "8"}]}'
json_obj = json.loads(json_blob)
final_list = []
for single in json_obj['details']:
final_list.append((int(single['abc']), int(single['def'])))
print(final_list)
这将打印以下内容:[(3, 4), (5, 6), (7, 8)]
我是 JSON 和 Python 的新手,我们将不胜感激。
我读到 json.loads 但很困惑
如何使用 json.loads 将文件读入 Python?
下面是我的 JSON 文件格式:
{
"header": {
"platform":"atm"
"version":"2.0"
}
"details":[
{
"abc":"3"
"def":"4"
},
{
"abc":"5"
"def":"6"
},
{
"abc":"7"
"def":"8"
}
]
}
我的要求是详细阅读所有 "abc"
"def"
的值,并将其添加到新列表中,例如 [(1,2),(3,4),(5,6),(7,8)]
。新列表将用于创建 spark 数据框。
打开文件,获取文件句柄:
fh = open('thefile.json')
https://docs.python.org/2/library/functions.html#open
然后,将文件句柄传递给 json.load():(不要使用加载 - 用于字符串)
import json
data = json.load(fh)
https://docs.python.org/2/library/json.html#json.load
从那里,您可以轻松处理代表 json 编码数据的 python 字典。
new_list = [(detail['abc'], detail['def']) for detail in data['details']]
请注意,您的 JSON 格式也有误。您将在许多地方需要逗号分隔符,但这不是问题所在。
我正在尽力理解你的问题,但它的格式似乎很糟糕。
首先,您的 json blob 无效 json,它缺少很多逗号。这可能是您正在寻找的:
{
"header": {
"platform": "atm",
"version": "2.0"
},
"details": [
{
"abc": "3",
"def": "4"
},
{
"abc": "5",
"def": "6"
},
{
"abc": "7",
"def": "8"
}
]
}
现在假设您正在尝试在 python 中解析它,您将必须执行以下操作。
import json
json_blob = '{"header": {"platform": "atm","version": "2.0"},"details": [{"abc": "3","def": "4"},{"abc": "5","def": "6"},{"abc": "7","def": "8"}]}'
json_obj = json.loads(json_blob)
final_list = []
for single in json_obj['details']:
final_list.append((int(single['abc']), int(single['def'])))
print(final_list)
这将打印以下内容:[(3, 4), (5, 6), (7, 8)]