如何解析Instagram导出的JSON粉丝数据生成规范Pandas DataFrame
问题原因
pd.read_json默认仅解析JSON最外层键作为DataFrame列,不会自动展开多层嵌套的string_list_data内层结构,因此只会生成单列存储未解析字典的结果,无法直接得到展开后的三列结构。
正确实现方法
你已经通过json.load把完整数据加载到了json_data字典中,不需要再用pd.read_json重复读取,直接手动提取嵌套字段再转DataFrame即可,步骤如下:
- 遍历
json_data['relationships_followers']下的所有粉丝记录 - 提取每条记录中
string_list_data数组首元素的href、value、timestamp三个字段 - 将秒级Unix时间戳转换为
DDMMYY格式的日期字符串 - 把整理好的结构化列表传入
pd.DataFrame生成目标表格
完整代码
在你现有加载JSON的代码后追加以下内容即可:
# 提取并结构化粉丝数据 formatted_followers = [] for record in json_data['relationships_followers']: # 每条记录的有效信息存在string_list_data的第一个元素中 user_info = record['string_list_data'][0] formatted_followers.append({ "href": user_info["href"], "value": user_info["value"], # 秒级时间戳转DDMMYY格式日期 "timestamp": dt.datetime.fromtimestamp(user_info["timestamp"]).strftime("%d%m%y") }) # 生成目标DataFrame dfp = pd.DataFrame(formatted_followers) # 查看前5行验证结果 print(dfp.head())
注意:Instagram导出的时间戳为秒级Unix时间,不要对时间戳做乘/除1000的毫秒转换操作,否则会得到错误的日期结果。
运行后生成的dfp为580行3列的结构化表格,列顺序、字段内容、日期格式完全匹配预期。
内容的提问来源于stack exchange,提问作者FinnBu
相关产品推荐
相关产品推荐

