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

如何用Pandas读取CSV中的嵌套JSON并拆分加速度计数据?

高效拆分CSV中的嵌套JSON列到独立列

核心方案:利用Pandas的矢量化JSON解析

不需要逐行循环,直接用Pandas内置的JSON解析工具就能高效完成拆分,步骤如下:

  1. 读取分号分隔的CSV
    注意指定分隔符为;,避免默认逗号分隔导致解析错误:

    import pandas as pd
    import json
    
    # 替换为你的文件路径
    df = pd.read_csv('sensor_data.csv', sep=';')
    
  2. 解析嵌套JSON列
    假设存储加速度计数据的列名为accelerometer(根据你的实际列名修改),用以下两种方法解析:

    • 方法1:适合大多数场景,直接解析字符串为JSON并转为DataFrame
      # 解析JSON字符串为结构化数据
      accel_df = df['accelerometer'].str.json_normalize()
      
    • 方法2:如果JSON格式有异常(比如存在无效字符串),添加容错处理
      def safe_parse_json(s):
          try:
              return json.loads(s)
          except:
              return {"X": None, "Y": None, "Z": None}
      
      accel_df = df['accelerometer'].apply(safe_parse_json).apply(pd.Series)
      
  3. 合并数据并清理
    将拆分后的X/Y/Z列与原DataFrame合并,删除原JSON列:

    # 合并数据
    final_df = pd.concat([df.drop('accelerometer', axis=1), accel_df], axis=1)
    

为什么这个方法高效?

Pandas的str.json_normalize和apply(pd.Series)都是基于矢量化操作实现的,底层用C语言优化,比Python层面的逐行循环快几个数量级,尤其适合处理大规模数据集。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 11:16:02