从字符串中解析数据

数据挖掘 解析
2022-02-16 10:59:09

我认为这是有经验的程序员一直在做的事情。但是,鉴于我有限的编程经验,请多多包涵。

我有一个 excel 文件,其中包含读取的特定单元格条目

[[{“来自”:“4”,“响应”:真,“值”:20},{“来自”:“8”,“响应”:真,“值”:20},{“来自” :“9”,“响应”:真,“值”:20},{“来自”:“3”,“响应”:真,“值”:20}],[{“来自”:“14” ,“响应”:假,“值”:20},{“来自”:“15”,“响应”:真,“值”:20},{“来自”:“17”,“响应”:假,“值”:20},{“来自”:“13”,“响应”:真,“值”:20}]]

现在,对于每个这样的条目,我想获取每个大括号中的信息并从中生成一行数据。每个这样的行将有 3 列。例如,由大括号内的第一个条目形成的行应分别具有条目“4”、“true”和“20”。我发布的部分应该给我 6 个这样的行,并且对于 n 这样的重复,我最终应该得到一个 6n 行和 4 列的矩阵(一个标识符,加上提到的 3 列)。

什么是最有效的方法?通过“这样做”,我的意思是学习技巧,然后实施它。我可以在我的实验室中访问很多软件包(Excel、Stata、Matlab、R),所以这应该不是问题。

2个回答

如果你有 R 很简单

  1. 将这些行复制到一个文件中,比如说:“mydata.json”

  2. 确保你已经安装了 rjson 包

     install.packages("rjson")
    
  3. 导入您的数据

     library("rjson")
     json_data <- fromJSON(file="mydata.json")
    

如果这些数据在实际的 excel 电子表格单元格中可用(即,在将它们导出为问题中提供的 JSON 格式之前),您可以使用以下命令将它们导入 R:

  1. 在 excel 中突出显示感兴趣的区域
  2. 将其复制到剪贴板(例如 Ctrl-C)
  3. 在 R 提示符下键入:

    d <- read.delim('clipboard')
    

数据现在将作为 R 中的 data.frame 提供。

d
  from response value
1    4     TRUE    20
2    8     TRUE    20
3    9     TRUE    20
4    3     TRUE    20
5   14    FALSE    20
6   15     TRUE    20
7   17    FALSE    20
8   13     TRUE    20