如何在Pandas中展平嵌套字典列表并提取拼接text字段值?
提取Pandas DataFrame嵌套字典列表中的文本并拼接
针对你这种包含嵌套字典列表且存在NaN值的DataFrame,可以通过自定义函数结合apply方法提取所有text字段的值并拼接成连续文本:
步骤1:定义文本提取函数
这个函数会处理NaN值,逐层解析嵌套结构,筛选出所有type为text的项并提取对应文本:
import pandas as pd def extract_and_join_text(list_dict_data): if pd.isna(list_dict_data): return "" text_items = [] # 遍历每个段落对象 for para in list_dict_data: # 遍历段落内的内容元素,兼容缺失'content'的情况 for content_item in para.get('content', []): if content_item.get('type') == 'text': text_items.append(content_item['text']) # 用空格拼接所有文本 return ' '.join(text_items)
步骤2:应用函数到DataFrame
将函数应用到list_dict列,生成新的提取后文本列:
# 假设你的DataFrame名为df df['extracted_text'] = df['list_dict'].apply(extract_and_join_text)
处理效果示例
针对你提供的快照数据,处理后的结果如下:
| Id | extracted_text |
|---|---|
| 1 | |
| 2 | XXX XXX XXX XXX |
| 3 |
内容的提问来源于stack exchange,提问作者Jimmys
相关产品推荐
相关产品推荐

