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

如何用Python将嵌套的LinkedIn粉丝统计JSON转换为指定格式CSV

实现方案

我们可以先分别展开每个维度的嵌套列表为独立DataFrame,再按索引对齐合并,自动补全空值为NaN,最终导出CSV即可,完整实现代码如下:

import pandas as pd
import json

# 第一步:读取加载JSON数据(这里假设你的原始JSON存在data变量里)
# 若从文件读取则用:with open('your_file.json', 'r', encoding='utf8') as f: data = json.load(f)
element = data['elements'][0]

# 第二步:定义各维度的配置映射:原始键名 -> 输出列名映射
dim_config = {
    'followerCountsByAssociationType': {
        'dim_col': '关联类型',
        'organic_col': '关联类型维度自然粉丝数',
        'paid_col': '关联类型维度付费粉丝数'
    },
    'followerCountsByRegion': {
        'dim_col': '地域',
        'organic_col': '地域维度自然粉丝数',
        'paid_col': '地域维度付费粉丝数'
    },
    'followerCountsBySeniority': {
        'dim_col': '职级',
        'organic_col': '职级维度自然粉丝数',
        'paid_col': '职级维度付费粉丝数'
    },
    'followerCountsByIndustry': {
        'dim_col': '行业',
        'organic_col': '行业维度自然粉丝数',
        'paid_col': '行业维度付费粉丝数'
    },
    'followerCountsByFunction': {
        'dim_col': '职能',
        'organic_col': '职能维度自然粉丝数',
        'paid_col': '职能维度付费粉丝数'
    },
    'followerCountsByStaffCountRange': {
        'dim_col': '公司规模',
        'organic_col': '公司规模维度自然粉丝数',
        'paid_col': '公司规模维度付费粉丝数'
    },
    'followerCountsByCountry': {
        'dim_col': '国家',
        'organic_col': '国家维度自然粉丝数',
        'paid_col': '国家维度付费粉丝数'
    }
}

# 第三步:逐个处理每个维度生成DataFrame
df_list = []
max_len = 0

for dim_key, col_map in dim_config.items():
    # 展开当前维度的嵌套列表
    dim_df = pd.json_normalize(element[dim_key])
    # 重命名列
    dim_df = dim_df.rename(columns={
        dim_key.split('By')[-1].lower(): col_map['dim_col'],
        'followerCounts.organicFollowerCount': col_map['organic_col'],
        'followerCounts.paidFollowerCount': col_map['paid_col']
    })
    # 只保留需要的列
    dim_df = dim_df[[col_map['dim_col'], col_map['organic_col'], col_map['paid_col']]]
    df_list.append(dim_df)
    # 更新最大长度
    if len(dim_df) > max_len:
        max_len = len(dim_df)

# 第四步:所有DataFrame对齐到最大长度,补全空值
processed_dfs = []
for df in df_list:
    processed_dfs.append(df.reindex(range(max_len)))

# 第五步:按列合并所有维度
final_df = pd.concat(processed_dfs, axis=1)

# 导出为CSV,空值显示为null
final_df.to_csv('linkedin_fans_stats.csv', index=False, na_rep='null')

关键说明

  • 用json_normalize自动展开followerCounts嵌套结构,无需手动解析
  • 所有维度DataFrame通过reindex对齐到最长列表的长度,不足位置自动填充NaN
  • 导出时用na_rep='null'参数,将空值统一输出为null,完全符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:27:04