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

如何用Python将含text与spans的字典列表转为Pandas DataFrame

实现方法

直接遍历原始列表中的每个字典,将text字段与每个span字典合并,收集所有合并后的字典后再转换为DataFrame即可。

代码示例

import pandas as pd

# 原始数据
data = [
    {'text': 'convert json 1 to dataframe', 'spans': [
        {'start': 0, 'end': 8, 'label': 'person', 'value': 'person1'},
        {'start': 46, 'end': 56, 'label': 'dob', 'value': 'bday'},
        {'start': 61, 'end': 71, 'label': 'location', 'value': 'US1'}
    ]},
    {'text': 'convert json 2 to dataframe', 'spans': [
        {'start': 0, 'end': 8, 'label': 'person', 'value': 'person2'},
        {'start': 10, 'end': 18, 'label': 'person', 'value': 'person3'},
        {'start': 61, 'end': 71, 'label': 'location', 'value': 'US2'}
    ]}
]

# 收集整理后的数据
processed_data = []
for item in data:
    text = item['text']
    for span in item['spans']:
        # 合并text和span的信息
        processed_item = {'text': text, **span}
        processed_data.append(processed_item)

# 转换为DataFrame
df = pd.DataFrame(processed_data)
print(df)

输出结果

生成的DataFrame结构如下:

text  start  end     label    value
0  convert json 1 to dataframe      0    8    person  person1
1  convert json 1 to dataframe     46   56       dob     bday
2  convert json 1 to dataframe     61   71  location      US1
3  convert json 2 to dataframe      0    8    person  person2
4  convert json 2 to dataframe     10   18    person  person3
5  convert json 2 to dataframe     61   71  location      US2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:52:09