![](/img/trans.png)
[英]Add dict from data frame into new data frame -python & Json
[英]Add data to json dict in python
嗨,我正在导入多个 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' object has no attribute 'append') 因为它不是一个列表
这是数据的样子(我的 json 文件内容):
[{'trimestre': '2',
'season': 'spring'},
{'trimestre': '2',
'season': 'spring'}]
我希望它看起来像
[{'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'}]
日期=当前时间有什么帮助吗?
首先,您的答案:您必须更改的唯一行是有作业的行。 就像上面的答案也提到了,分配必须改变,就像这样:
dictionary[key] = datetime.now()
但是,JSON 不能存储日期时间 object,这就是您必须更改格式的原因。 因此,我建议您使用 strftime():
dictionary[key] = datetime.now().strftime("%d/%m/%y")
您可以将格式更改为您想要的格式。
PS:JSON 格式实际上使用这些 {} 括号作为外部括号。 您正在使用一个列表,这并不常见。
要将键值对添加到字典,语法如下:
adict[key] = value
与问题无关,但在处理文件时使用open更安全
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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.