我正在尝试读取一个jon文件,它是Mongodb的输入。如果我可以编辑单个记录作为有效的杰森我能够这样做。但是当我试图读取整个文件时,我无法做到。它告诉我错误。
我已经完成了如下所示的基本代码。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
# comment : Importing the json file to read;
database = "new 2.json"
data = json.loads(open(database).read())
# Comment : Variable Declaration;
# Comment : Display the json values;
for key,value in data.iteritems():
if 'patient_id' == key:
print("key: {0} | value: {1}".format(key, value))
if 'name' == key:
print("key: {0} | value: {1}".format(key, value))
if 'age' == key:
print("key: {0} | value: {1}".format(key, value))
if 'gender' == key:
print("key: {0} | value: {1}".format(key, value))
# for key,value in data.iteritems():
if 'address' == key:
print("key: {0} | value: {1}".format(key, value))
# if 'labRecords' == key:
# print("key: {0} | value: {1}".format(key, value))
我能够打印单个记录的数据,我已将其更正为正确的json文件。 但对于其他人我需要修改所有记录。 有没有办法呢???
答案 0 :(得分:0)
看起来你错过了open
的第二个参数,它应该是以下之一:
a
,r
,w
,rb
或wb
在工作目录中使用文件test.json
,这对我有用:
{
"foo": 1,
"bar": 2,
"baz": 3
}
import json
with open("test.json", "rb") as f:
data = json.load(f)
for key, value in data.items():
print(key, value)
foo 1
bar 2
baz 3
答案 1 :(得分:-1)
你可以试试这个。
import json
with open("json_data.json", mode='r', encoding='utf-8') as json_data:
data = json.load(json_data)
print(data)
<强> json_data.json 强>
{
"hello": 11,
"world": 22,
"json": 33
}
<强>输出强>
{'hello': 11, 'world': 22, 'json': 33}
确保您的json
格式数据正常。并首先检查你得到你想要的输出。而且你可以继续你的进一步工作。