मुझे अजगर के साथ अपने कोड के बारे में कुछ समस्या है। मैं जेसन फ़ाइल में नया डेटा डालना चाहता हूं

file.json

{
  "datas": [
    {
      "KD": "AC0001",
      "TI": "24",
      "TO": "25",
      "AR": "7.21",
      "SG": "100",
      "DT": "2019-02-12 10:44:10"
    }
  ]
}

मैं इस तरह बनने के लिए नई लाइन डालना चाहता हूं

 {
      "datas": [
        {
          "KD": "AC0001",
          "TI": "24",
          "TO": "25",
          "AR": "7.21",
          "SG": "100",
          "DT": "2019-02-12 10:44:10"
        },{
          "KD": "AC0001",
          "TI": "23",
          "TO": "21",
          "AR": "7.21",
          "SG": "90",
          "DT": "2019-02-12 10:44:10"
        }
      ]
    }

यह मेरा कोड है

        student_data = {"data": []}
        data_holder = student_data["data"]
        counter = 0
        data_holder.append({'KD': 'AC0001','TI': '23','TO': '21','AR': '7.21,'SG': '90','DT': '2019-02-12 10:44:10'})

        with open('file.json') as f:
            data = json.load(f)

        data.update(student_data)


        file_path = 'file.json'
        with open(file_path, 'w') as outfile:
            print("writing file to: ", file_path)
            # HERE IS WHERE THE MAGIC HAPPENS
            json.dump(data, outfile, indent=2, ensure_ascii=False)
        outfile.close()
        print("done")

और वास्तव में यह कोड अपडेट json फ़ाइल है, न कि नया डेटा डालें

-2
Andra Manday 12 फरवरी 2019, 06:55

1 उत्तर

सबसे बढ़िया उत्तर

क्या आप निम्न कोशिश कर सकते हैं:

import json
new_data = {'KD': 'AC0001', 'TI': '23', 'TO': '21',
            'AR': '7.21', 'SG': '90', 'DT': '2019-02-12 10: 44: 10'}
file_path = 'file.json'
with open(file_path) as f:
    data = json.load(f)
    data['datas'].append(new_data)

    with open(file_path, 'w') as outfile:
        json.dump(data, outfile)
2
Marcin Orlowski 12 फरवरी 2019, 07:14