【问题标题】:Iterating and parsing in lines of text file in Matlab在 Matlab 中迭代和解析文本文件的行
【发布时间】:2018-10-31 12:38:38
【问题描述】:

我在使用 Matlab 的第一天,我试图弄清楚如何从我的 .log 文件中导入数据。

所以一行看起来像这样:

123456.99 :: 工作完成:result=0 , data ="{"day":"monday", "breakfast":"sandwich"}"

我已经用 fileread() 命令打开了文件。

但是,我只对 data ={} 之后的部分感兴趣,那里的数据可以保存为 JSON,以后可以轻松使用。我不知道如何迭代和解析整个文件?

我试过用谷歌搜索,但那里的解决方案似乎太复杂且难以理解。有人可以给我提示吗?

【问题讨论】:

    标签: matlab parsing


    【解决方案1】:

    您可以使用fileread读取文件:

    >> rawData = fileread('mydocument.txt');
    

    regexp解析数据:

    >> myJson = regexp(rawData,'data ="({[^}]+})','tokens','once');
    

    jsondecode 解码 json:

    >> jsondecode(myJson{:})
       ans = 
    
       struct with fields:
    
              day: 'monday'
        breakfast: 'sandwich'
    

    【讨论】:

    • 嘿,我已将您的答案标记为解决方案,因为它回答了我的问题。如果你能帮忙,我还有一个。 fileread 只读取一行,如果我只想对一个有很多行的文本文件执行相同的操作,bsc 如果我必须迭代,是否有一种平滑的方法来做到这一点?
    猜你喜欢
    • 2014-05-28
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    相关资源
    最近更新 更多