沉墨的夜 2023-02-28 22:04 采纳率: 66.7%
浏览 11
已结题

对于CSV文件,如何解析某列数据里面的JSON属性值?

当前有一个CSV文件,文件有很多列,需要解析其中一列,这一列是个字符串,字符串中有子json,需要获取json里面的属性值,都有那些方法,有比较简单的方式吗?

  • 写回答

1条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-28 22:16
    关注

    基于Monster 组和GPT的调写:
    用Matlab内置的csvread函数读取CSV文件,将字符串列解析为一个单独的单元格数组,然后使用Matlab内置的JSON解析函数解析子JSON并获取属性值。例如:

    
    % 读取CSV文件
    data = csvread('filename.csv');
    % 获取字符串列
    str_col = data(:, col_num);
    % 解析子JSON并获取属性值
    json_data = jsondecode(str_col{row_num});
    attr_value = json_data.attr_name;
    
    

    其中,col_num和row_num分别表示字符串列所在的列号和要解析的行号,attr_name是要获取的子JSON属性名。

    使用Matlab内置的textscan函数读取CSV文件,并使用正则表达式从字符串列中提取子JSON,并使用Matlab内置的JSON解析函数解析子JSON并获取属性值。例如:
    
    
    % 读取CSV文件
    fid = fopen('filename.csv');
    data = textscan(fid, '%s', 'delimiter', ',', 'HeaderLines', 1);
    fclose(fid);
    % 获取字符串列
    str_col = data{1}{:, col_num};
    % 提取子JSON并获取属性值
    json_str = regexp(str_col, '\{.*\}', 'match', 'once');
    json_data = jsondecode(json_str);
    attr_value = json_data.attr_name;
    
    

    其中,col_num表示字符串列所在的列号,attr_name是要获取的子JSON属性名。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 创建了问题 2月28日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题