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

使用pandas归一化嵌套JSON时遇TypeError问题求助

对话数据归一化的TypeError问题解决

问题背景

需要将包含多页对话数据的all_data归一化为单表,保留created_at、updated_at、id、用户name及tags等标识字段,但运行归一化代码时触发错误:

TypeError: list indices must be integers or slices, not dict

错误原因

遍历all_data时错误地将字典作为列表索引使用。all_data是由多个页组成的列表,每个页本身是包含对话条目的列表,错误代码中试图用页对象(字典)去索引列表,导致类型不匹配。

错误代码示例

normalized_data = []
for page in all_data:
    # 错误:用字典page作为列表all_data的索引
    for item in all_data[page]:
        normalized_item = {
            'id': item['id'],
            'created_at': item['created_at'],
            'updated_at': item['updated_at'],
            'user_name': item['user']['name'],
            'tags': item['tags']
        }
        normalized_data.append(normalized_item)

修正后的代码

normalized_data = []
# 遍历all_data中的每一页(每页是对话条目列表)
for page in all_data:
    # 直接遍历当前页的对话条目
    for item in page:
        normalized_item = {
            'id': item['id'],
            'created_at': item['created_at'],
            'updated_at': item['updated_at'],
            'user_name': item['user']['name'],
            'tags': item['tags']
        }
        normalized_data.append(normalized_item)

关键修正说明

  • 移除错误的列表索引操作all_data[page],直接遍历page本身(因为page就是当前页的对话条目列表)
  • 确保遍历逻辑符合all_data的嵌套结构:外层是页的列表,内层是每页的对话条目列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 09:23:13