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

如何从JSON文件提取指定text字段内容并保存为CSV文件?

问题根因

你当前通过列位置索引取到的是嵌套列表结构的原始字段值,没有深入到结构内层提取text键内容;且硬编码列序号的取值方式鲁棒性极差,JSON字段顺序稍有变动就会取错数据。
你需要的text字段存储路径为:edge_media_to_caption.edges -> 列表首个元素 -> node -> text。

可直接运行的修正代码
import pandas as pd
import json

# 加载原始JSON数据
with open('shahd_yahia33.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# 展平GraphImages层级的嵌套数据
df_graph = pd.json_normalize(data, record_path=['GraphImages'])

# 定义嵌套结构提取函数,兼容无配文的空值场景
def get_text(edges):
    if not edges:
        return ""
    return edges[0].get('node', {}).get('text', "")

# 提取纯文本列
result_df = pd.DataFrame()
result_df['text'] = df_graph['edge_media_to_caption.edges'].apply(get_text)

# 打印提取结果验证
print(result_df)

# 保存为CSV文件,使用utf-8-sig编码避免Excel打开时表情、中文乱码
result_df.to_csv('caption_text.csv', index=False, encoding='utf-8-sig')
代码说明
  • 直接通过展平后的字段名edge_media_to_caption.edges定位目标列,不依赖列位置,稳定性更高
  • 提取函数做了空值兼容,遇到没有配文的动态不会抛出键错误
  • 保存CSV时指定utf-8-sig编码,Windows系统下直接用Excel打开也不会出现乱码
  • 最终输出的CSV文件仅包含一列纯文本内容,即所有帖子的配文字段
运行后输出示例
text
0  Good morning
1           🍑🍑
2          🤍🤍🤍
3          🍇🍑🍉
4           🤍🤍

内容的提问来源于stack exchange,提问作者yahya qusay mahdi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 04:27:23