如何将Pandas DataFrame转换为不含行索引的JSON?
移除Pandas转JSON时的默认行索引
你当前使用orient="index"参数生成JSON,这个参数的作用就是将DataFrame的行索引作为JSON的顶级键,所以才会出现"0"这类索引键。要移除它,只需更换orient参数即可,以下是两种常用方案:
方案1:生成JSON数组(适配多行数据)
将orient="index"改为orient="records",输出的JSON会是包含每行数据的数组,不再带有行索引键:
df = df.rename(columns={'id': 'version', 'token': 'type_id' }) df2 = df.to_json(orient="records") print(df2)
输出示例:
[{"version":10927076529,"version":0,"type_id":"56599bb6-3b56-425b-8688-8fc0c73fbedc","type_id":3}]
方案2:生成单个JSON对象(仅适用于单行数据)
如果你的DataFrame只有一行数据,可以直接提取单行转换为JSON,得到无索引的单个对象:
df = df.rename(columns={'id': 'version', 'token': 'type_id' }) df2 = df.iloc[0].to_json() print(df2)
输出示例:
{"version":10927076529,"version":0,"type_id":"56599bb6-3b56-425b-8688-8fc0c73fbedc","type_id":3}
注意:你当前的
rename代码存在列名冲突(将id重命名为version,会覆盖原有version列),实际使用时建议调整列名避免冲突。
内容的提问来源于stack exchange,提问作者Pregz
相关产品推荐
相关产品推荐

