【发布时间】:2016-04-09 02:41:18
【问题描述】:
我正在尝试从 json 文件中读取现有数据,并尝试使用 python 将更多数据附加到文件中(我是 python 新手)。这是我在脚本中读取的 data.json 文件中的现有数据:
{
"Config1": {
"TestCase1": {
"Data1": 200,
"Data2": 2715
}
},
"Config2": {
"TestCase1": {
"Data1": 2710,
"Data2": 2715
}
}
}
阅读后我想附加 TestCase2 数据。这就是我正在做的:
with open("data.json") as json_file: #load existing data
json_data = json.load(json_file)
test='TestCase2'
result=json_data
myConfigs = ['Config1','Config2']
for each, config in enumerate(myConfigs):
result.update({config:{test:{'Data1':2600,'Data2':2900}}})
with open('data.json', 'a') as outfile:
json.dump(result, outfile)
jsonLint 指出,data.json 中的新数据无效。我究竟做错了什么?这是新数据
{
"Config1": {
"TestCase1": {
"Data1": 200,
"Data2": 2715
}
},
"Config2": {
"TestCase1": {
"Data1": 2710,
"Data2": 2715
}
}
} {
"Config1": {
"TestCase2": {
"Data1": 2600,
"Data2": 2900
}
},
"Config2": {
"TestCase2": {
"Data1": 2600,
"Data2": 2900
}
}
}
【问题讨论】:
-
result.update中的dict看起来不对(键上没有引号),json的方法应该是
loads和dumps... -
@bozdoz
loads使用字符串load文件对象(或任何实现read()的东西)