在python中向json dict添加数据
嗨,我正在导入多个json文件 我想将当前时间添加到文件的每个文档中 我试过这个:在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]
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")