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

JSON转Pandas DataFrame出现ValueError、KeyError报错如何解决

报错原因

  • 第一个ValueError: arrays must all be same length
    pd.read_json默认会将JSON顶层每个键的值展开为单独列,要求所有列长度一致。你的JSON中id是单个字符串、article是14个元素的列表、abstract是3个元素的列表,三者长度不匹配,因此触发报错。
  • 第二个KeyError: "None of ['index'] are in the columns"
    你通过pd.DataFrame.from_dict(data, orient='index').T生成的DataFrame列名为id、article、abstract,不存在名为index的列,调用set_index('index')时找不到指定列,因此触发报错。

解决方法

你的JSON对应单条样本,三个字段分别为id(字符串类型)、article(句子列表类型)、abstract(摘要列表类型),只需要将读取到的JSON数据包装为列表,即可直接生成符合要求的DataFrame,再转Hugging Face Dataset即可。

完整可运行代码:

import json
import pandas as pd
from datasets import Dataset

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

# 单条数据包装为列表后生成DataFrame
df = pd.DataFrame([data])

# 转Hugging Face数据集
dataset = Dataset.from_pandas(df)

可以通过以下代码验证转换结果:

# 查看DataFrame结构
print(df.columns)
print(df['id'][0])
print(len(df['article'][0]))
print(len(df['abstract'][0]))

# 查看数据集结构
print(dataset)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 22:36:04