Python中如何将加载的JSON数据转换为指定元组列表格式
实现方法
你通过json.load()读取得到的data是由字典构成的列表,每个字典包含url、date、text三个键,只需要遍历列表拆分字段重组元组即可,有两种常用实现方式:
方式1:明确指定字段(推荐,输出完全匹配要求结构)
用列表推导式直接提取对应字段,不会带入原数据里的多余字段:
import json with open("data.json") as data_file: raw_data = json.load(data_file) result = [ (item["text"], {"url": item["url"], "date": item["date"]}) for item in raw_data ]
方式2:通用字段提取(适配后续字段变动)
如果后续原JSON可能新增除text外的其他字段,想自动把非text字段全部放入元组的第二个字典中,可以用字典的pop方法实现,不用硬编码字段名:
result = [] for item in raw_data: item_dict = item.copy() text_content = item_dict.pop("text") result.append( (text_content, item_dict) )
执行后result的结构和你要求的完全一致:
[ ("Example text 1", {"url": "example1.com", "date": "Jan 1"}), ("Example text 2", {"url": "example2.com", "date": "Jan 2"}) ]
注意:做字典拷贝是为了避免修改原
raw_data里的字典内容,如果不需要保留原数据可以直接在原item上pop,省略拷贝步骤。
内容的提问来源于stack exchange,提问作者jedmund
相关产品推荐
相关产品推荐

