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

如何将Pandas DataFrame指定列转为每行的列表并导出为JSON

实现指定字段转为单行列表并导出目标JSON

方法一:直接操作JSON数据

若无需经过DataFrame处理,可直接读取原JSON文件并修改字段格式:

import json

# 读取原JSON文件
with open('original.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# 遍历每个设置条目,将指定字段转为单元素列表
for entry in data['My Setting'].values():
    entry['ID'] = [entry['ID']]
    entry['Competitor ID'] = [entry['Competitor ID']]

# 导出目标JSON文件
with open('target.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, indent=4, ensure_ascii=False)

方法二:通过Pandas DataFrame处理

若需基于原DataFrame进行修改,可按以下步骤操作:

import pandas as pd
import json

# 从原JSON文件读取数据并转为DataFrame
with open('original.json', 'r', encoding='utf-8') as f:
    raw_data = json.load(f)
df = pd.DataFrame(raw_data['My Setting']).T  # 转置以匹配行结构

# 将指定字段的值包装为单元素列表
df['ID'] = df['ID'].apply(lambda x: [x])
df['Competitor ID'] = df['Competitor ID'].apply(lambda x: [x])

# 转换回目标JSON结构并导出
target_data = {'My Setting': df.T.to_dict()}
with open('target.json', 'w', encoding='utf-8') as f:
    json.dump(target_data, f, indent=4, ensure_ascii=False)

说明

  • 两种方法均可实现将ID和Competitor ID字段的值转为单元素列表的需求。
  • 直接操作JSON的方式更轻量化,适合数据量不大的场景;通过DataFrame处理则更适配需要同时进行其他数据清洗或分析的场景。

内容的提问来源于stack exchange,提问作者Nicole L

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:55:22