在python中向json dict添加数据

在python中向json dict添加数据,python,json,datetime,jupyter,Python,Json,Datetime,Jupyter,嗨,我正在导入多个json文件 我想将当前时间添加到文件的每个文档中 我试过这个: for filename in os.listdir(directory): if filename.endswith(".json"): f = open(filename) data = json.loads(f.read()) for i in range (len(data)): print(data[i]

嗨,我正在导入多个json文件

我想将当前时间添加到文件的每个文档中 我试过这个:

for filename in os.listdir(directory):
    if filename.endswith(".json"):
        f = open(filename)
        data = json.loads(f.read())
        for i in range (len(data)):
            print(data[i])
            data[i].append({'Date':datetime.now()})
            print(data[i])
我发现:(AttributeError:'dict'对象没有属性'append') 因为它不是一个列表

以下是数据的外观(我的json文件内容):

我希望它看起来像

[{'date': '2021-06-02T12:18:22.694+02:00',
  'trimestre': '2',
  'season': 'spring'},
 {'date': '2021-06-02T12:18:22.694+02:00',
  'trimestre': '2',
  'season': 'spring'}]
日期=当前时间
有什么帮助吗?

要将键值对添加到dict,语法如下:

    adict[key] = value
与问题无关,但在处理文件时使用更安全

    with open(filename) as json_file:
        data = json.load(json_file)
        # data contains a list of dicts
        for json_dict in data:
            json_dict['Date'] = datetime.now()
首先,你的答案是: 您唯一需要更改的行是带有作业的行。正如上面提到的答案一样,作业必须更改,如下所示:

dictionary[key] = datetime.now()
但是,JSON不能存储datetime对象,这就是您必须更改格式的原因。因此,我建议您使用strftime():

您可以将格式更改为所需的格式


注:JSON格式实际上使用这些{}括号作为外部括号。您使用的是一个不常见的列表。

附加数据的位置重要吗?谢谢!这解决了我的问题。是或只是dictionary[key]=str(datetime.now())
dictionary[key] = datetime.now()
dictionary[key] = datetime.now().strftime("%d/%m/%y")