调用Zenodo API访问metadata的description字段触发KeyError求助
问题原因分析:Zenodo API获取记录时
description字段触发KeyError 核心原因
description是可选元数据字段:Zenodo的记录规范中,title、doi、publication_date属于必填核心字段,所有符合要求的记录都会包含这些字段;但description是可选字段,你搜索到的20条记录里,部分记录未填写该字段,直接通过键名访问不存在的字段就会触发KeyError。- 记录类型差异导致字段缺失:不同类型的出版物(如期刊论文、会议摘要等)的元数据结构可能存在差异,部分记录可能没有配置
description字段的内容。
解决方法
可以通过两种方式避免报错:
- 使用字典的
get()方法安全访问,指定默认值:
print(i["metadata"].get("description", "无描述信息"))
- 先判断字段是否存在再访问:
if "description" in i["metadata"]: print(i["metadata"]["description"]) else: print("无描述信息")
内容的提问来源于stack exchange,提问作者Vento
相关产品推荐
相关产品推荐

