Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python将新数据插入JSON文件_Python_Arrays_Json - Fatal编程技术网

如何使用Python将新数据插入JSON文件

如何使用Python将新数据插入JSON文件,python,arrays,json,Python,Arrays,Json,我的python代码有一些问题。 我想在json文件中插入新数据 file.json { "datas": [ { "KD": "AC0001", "TI": "24", "TO": "25", "AR": "7.21", "SG": "100", "DT": "2019-02-12 10:44:10" } ] } 我想插入新行,就像这样 { "datas": [ {

我的python代码有一些问题。 我想在json文件中插入新数据

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文件,而不是插入新数据

您可以尝试以下操作吗:

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)

我是一个Java人,但我在这里没有看到任何Java代码——为什么是Java问号?为什么不删除第一行,然后将脚本顶部的
json
加载为
student\u data=json.load(f)
?修复
data\u holder.append(…
行)中的语法错误。即使如此,语法高亮显示也会告诉您它已被破坏。。。