我需要将字典列表中的时间转换为日期时间格式,字典列表是我从json文件中创建的,json文件如下所示
{"name": "Thomas", "time_created": 1665070563, "gender": null}
{"name": "Lisa", "time_created": 1665226717, "gender": "female", "age": 59}
{"name": "James", "time_created": 1664913997, "gender": "male", "last_name": "Rogers"}
{"name": "Helen", "time_created": 1664651357, "gender": "female", "last_name": "Scott"}
{"name": "Nora", "time_created": 1664689732, "gender": "female", "age": null}
我试着写这段代码
import jsonlines
import datetime
with jsonlines.open('data.jsonl', 'r') as jsonl_f:
lst = [obj for obj in jsonl_f]
for value_man in lst:
for value in value_man.keys():
value['time_created'] = datetime.datetime.fromtimestamp(value['time_created'])
print(lst)
但是我这里有一个错误
值[“创建时间”]=字符串(日期时间.日期时间.来自时间戳(值[“创建时间”]))类型错误:字符串索引必须为整数
2条答案
按热度按时间bfhwhh0e1#
您不需要迭代每个dict中的所有键;关键字是字符串,这就是为什么额外的迭代级别会给你一个字符串而不是实际的指令。
您还可以执行以下操作:
更简单地为:
vfh0ocws2#
你访问的是字典的键,而不是值。你必须实际访问值,沿着如下:
打印(第一个)