Python中如何将元组列表转换为指定键名结构的JSON格式
元组列表转指定结构JSON的实现方法
你之前的两种方法报错都是因为用法不符合当前场景的要求,下面给出两种可直接运行的实现方案:
方案1:原生Python实现(无第三方依赖)
直接通过列表推导式把每个三元组转为对应结构的字典,再用json库序列化即可:
import json tuple_list = [(1,2,3),(2,3,4),(5,3,2),(4,3,1),(8,6,5)] # 遍历元组生成指定结构的字典列表 convert_list = [{"link": t[0], "title": t[1], "desc": t[2]} for t in tuple_list] # 生成JSON字符串 json_result = json.dumps(convert_list) print(json_result) # 如果需要写入本地文件 with open("result.json", "w", encoding="utf-8") as f: json.dump(convert_list, f, indent=2)
方案2:Pandas DataFrame实现
你之前用DataFrame报错是因为构造时没有指定对应列名,调整后代码如下:
import pandas as pd tuple_list = [(1,2,3),(2,3,4),(5,3,2),(4,3,1),(8,6,5)] # 构造DataFrame时指定列名,对应输出的JSON键名 df = pd.DataFrame(tuple_list, columns=["link", "title", "desc"]) # 导出为JSON文件 df.to_json("temp.json", orient="records", indent=2)
之前代码的问题说明
- 直接转字典的方法仅适用于
(键, 值)格式的二元组场景,你的元组为三元组,每个元素对应不同的键,无法直接用dict()转换 - DataFrame方案报错是因为未指定列名,导致导出的字段为默认的0、1、2,不符合要求
内容的提问来源于stack exchange,提问作者Raspberry Lemon
相关产品推荐
相关产品推荐

