Python中文
首页
教程
问答
标签
搜索
登录
注册
在python中更新/附加到json(嵌套)
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我的JSON文件如下所示</p> <pre><code>{ "PersonA": { "Age": "35", "Place": "Berlin", "cars": ["Ford", "BMW", "Fiat"] }, "PersonB": { "Age": "45", "Cars": ["Kia", "Ford"] }, "PersonC": { "Age": "55", "Place": "London" } } </code></pre> <p>我正在尝试更新这个json上的某些条目,例如,将<code>Place</code>的<code>PersonB</code>设置为<code>Rome</code>,类似地,将<code>PersonC</code>更新<code>cars</code>设置为数组[“现代”,“福特”]</p> <p>到目前为止,我所做的是</p> <pre><code>import json key1 ='PersonB' key2 = 'PersonC' filePath = "resources/test.json" with open(filePath, encoding='utf-8') as jsonFile: jsonData = json.load(jsonFile) print(jsonData) PersonBUpdate = {"Place" : "Rome"} PersonCUpdate = {"cars" : ["Hyundai", "Ford"]} jsonData[key1].append(PersonBUpdate) jsonData[key2].append(PersonCUpdate) print(jsonData) </code></pre> <p>它抛出了一个错误</p> <pre><code>AttributeError: 'dict' object has no attribute 'append' </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>应该是这样的:</p> <pre><code>jsonData['Person1']['Place'] = 'Rome' </code></pre> <p>字典确实没有append方法。只有列表可以</p> <p>或者使用Python 3,您可以执行以下操作:</p> <pre><code>jsonData['Person1'].update(PersonBUpdate) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
pyVISA GPIB GET(组执行触发器)
6 回答
Pyvisa IOerror设备:Korad K3005d电源
10 回答
PyVISA mac OS X(山狮)安捷伦33250
1 回答
Pyvisa Pyusb无法加载大于1 MB的序列
1 回答
pyVisa RS232太慢
2 回答
PyVISA RS232超时错误(安捷伦电源)
1 回答
PyVISA SCPI命令和查询(值更新问题)
2 回答
PyVISA SerialInstrument需要硬重置才能在故障后连接
1 回答
pyvisa,未找到函数viOpen
6 回答
pyVISA:以编程方式将仪器返回到本地模式
9 回答
pyvisa:接口类型是什么意思?
6 回答
pyvisa.errors.VisaIOError:VI_ERROR_TMO(1073807339):操作完成前超时
3 回答
PyVisa“更复杂的示例”根本不运行Keithley 2400不理解的命令
4 回答
PyVisapy后端
5 回答
PyVISA不能写入超过7F的十六进制字符
5 回答
PYVISA中的ENUM模块和cStringIO模块
2 回答
PyVisa代码的图形用户界面
7 回答
Pyvisa使用按键电源超时
9 回答
PyVISA和Kethley 2701只能从一个通道获取结果
10 回答
PyVisa和Printing New D
7 回答