如何向Python字典添加新条目:JSON数据中新增市盈率字段操作失败求解
错误原因及修正方案
- 错误1:你加载得到的
data是列表类型(对应JSON外层的数组结构),本身没有update方法,只有字典类型支持该方法。同时字典调用update方法需使用圆括号(),你用了方括号[]属于语法误用,逻辑完全不符合需求。 - 错误2:新增市盈率字段的代码写在了
for循环外部,循环结束后pe变量仅会保留最后一家企业的计算结果,即使语法正确也无法给每家企业都添加对应市盈率。
修正后代码
import json from pprint import pprint with open('firm_list.json', encoding='utf-8') as data_file: data = json.loads(data_file.read()) pprint(data) for item in data: pe = item['price'] / item['earnings'] print(pe) # 直接给当前循环的单个企业字典新增字段即可 item['price to earnings ratio'] = pe # 打印验证修改后的完整数据 pprint(data)
内容的提问来源于stack exchange,提问作者Maeva
相关产品推荐
相关产品推荐

