You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改嵌套字典列表的数据类型?Epoch转日期报错解决

解决嵌套字典列表中Epoch时间戳转日期的KeyError问题

问题场景

需要将嵌套字典列表里的lastUpdatedAt字段的Epoch时间戳转换为日期类型,运行代码时触发KeyError: 0错误,相关信息如下:

原代码

import json
import datetime

results = json.load(response)

for date in results:
    last_update = datetime.datetime.fromtimestamp(date[0]['lastUpdatedAt'])
    date[0]['lastUpdatedAt'] = last_update

print(results)

测试JSON文档

[{"createdByUser": {"id": "15156", "username": "kr.esat@.com", "first": "", "last": "", "role": 2, "userType": "normal", "hasLoggedIn": true, "lastLogin": 16662687523, "visitorIds": ["k.eat@cds.com"]}, "createdAt": 15735485109, "lastUpdatedByUser": {"id": "62484203008", "username": "ipres.com", "first": "I", "last": "Trs", "role": 2, "userType": "normal", "deletedAt": 1651734030, "hasLoggedIn": true, "lastLogin": 16197075936, "visitorIds": ["ipods.com", "0"]}, "lastUpdatedAt": 1578265850, "kind": "Guide", "rootVersionId": "-NXd1A-f3Iy6sOuYhycQLs", "stableVersionId": "-NXzsod1A-f3IcQLs-2028418", "appId": -323232, "appIds": [-323232], "id": "-NXzsod13I6ss", "name": "Accommodation Types", "state": "disabled", "emailState": "", "launchMethod": "auto", "isMultiStep": false, "isTraining": false}]

报错栈

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
KeyError: 0

预期结果

将lastUpdatedAt的Epoch值转为YYYY-MM-DD格式的日期,例如"lastUpdatedAt": "2020-01-05"

错误原因

results是包含单个字典的列表,循环时date变量直接指代列表中的字典元素,而非列表。原代码用date[0]试图通过索引访问字典,但字典不存在键0,因此触发KeyError。

修正后的代码

import json
import datetime

# 假设response为已打开的文件对象或合法JSON字符串
results = json.load(response)

for item in results:
    timestamp = item['lastUpdatedAt']
    # 转换时间戳为datetime对象,再格式化为指定日期字符串
    item['lastUpdatedAt'] = datetime.datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d')

print(results)

验证结果

转换后的lastUpdatedAt字段值为:"2020-01-05"(对应输入的时间戳1578265850)

内容的提问来源于stack exchange,提问作者Caroline Silva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 23:45:42