【问题标题】:Mapping key and values in JSON在 JSON 中映射键和值
【发布时间】:2020-11-22 09:46:48
【问题描述】:

我正在尝试映射键和值以将其写入 JSON,但我无法按照以下模板中的要求对其进行转换:

{Pregnancies : [], Glucose : [], BloodPressure : [], SkinThickness : [579], Insulin : [8,13,111,153,...so on]

下面是我目前正在处理的代码(names 是一个列表,其值为 Blood Pressure, SkinThickness ...Outlier 记录的值为 [], [],[579],[8,13,111,153,...]

Outlier_records
names
joinedlist = names + Outlier_records
joinedlist

json.dumps(joinedlist)
os.chdir(Output)
with open('Outlier_Records.txt', 'w') as json_file:
  json.dump(joinedlist, json_file)

我现在得到的输出附在下图中,而我实际上希望输出如上图所示

{Pregnancies: [], BloodPressure: [], SkinThickness: [579], Insulin: [8,13,111,153,...so on]

【问题讨论】:

  • 您的数据如何? names 是从怀孕到结果的名称列表,对吗? Outlier_records 呢?是列表列表吗?它的元素数量是否与名称相同?
  • list + list != JSON json.dumps 需要一个字典

标签: python arrays json list


【解决方案1】:

您提供的模板是json格式,在python中是dicts,所以在这种情况下,您需要创建一个字典并使用下面的代码以key-value paris的形式添加相应的数据。

import json

names = ["blood", "test", "test1", "ntek"]
outliner_records = [
    [],
    [],
    [579],
    [8,13,111,153]
]

joinedDict = {}
for i in range(len(names)):
    joinedDict[names[i]] = outliner_records[i]

with open("tt.json", "w") as json_file:
    json.dump(joinedDict, json_file)

【讨论】:

    【解决方案2】:

    除了加入您的列表之外,您还可以从它们中制作一个 dict 以传递给json.dumps

    import json
    
    keys = ['apples','bananas','fish']
    values = [1,2,[1,2,3]]
    
    out = dict(zip(keys,values))
    
    print(json.dumps(out))
    

    输出:

    {"apples": 1, "bananas": 2, "fish": [1, 2, 3]}
    

    【讨论】:

      猜你喜欢
      • 2019-04-15
      • 2020-06-16
      • 1970-01-01
      • 2018-04-30
      • 2021-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      相关资源
      最近更新 更多