【问题标题】:Transforming structured text file to columned CSV in R在R中将结构化文本文件转换为列式CSV
【发布时间】:2019-12-18 15:58:40
【问题描述】:

我正在编写脚本以将大型文本文件转换为 CSV 文件。文本文件中的所有数据都以如下块的形式出现。这些块中的每一个都由 {} 分隔。我要做的是读取这些块中的第一个,获取不同的类别,如 GlobalId、MetaDataId 和其余部分,然后将它们转换为列标题,然后对这些列标题下的文本文件的其余部分进行排序。

{
    "GlobalId": 4222124650675654,
    "MetaDataId": "0e1a6cbe-fd3d-4782-af6a-fe3ffceb6a0d",
    "vendorId": "",
    "vendorName": "Vendor Test 2",
    "Uid": "vendortest1",
    "statsType": "SUSHI",
    "Url": "http://vendortest1.com/sushi/V5",
    "RunDay": 6,
    "reportName": "JR1, DB1",
    "Release": "R5",
    "supported": true,
    "deleted": false,
    "showIP": false,
    "trickle": 0
},

我试过这个:converting multiple lines of text into a data frame 并没有太大的成功。

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    这似乎是 json,可以使用 jsonlite 读取

    library(jsonlite)
    x <- '{
      "GlobalId": 4222124650675654,
      "MetaDataId": "0e1a6cbe-fd3d-4782-af6a-fe3ffceb6a0d",
      "vendorId": "",
      "vendorName": "Vendor Test 2",
      "Uid": "vendortest1",
      "statsType": "SUSHI",
      "Url": "http://vendortest1.com/sushi/V5",
      "RunDay": 6,
      "reportName": "JR1, DB1",
      "Release": "R5",
      "supported": true,
      "deleted": false,
      "showIP": false,
      "trickle": 0
    }'
    

    返回字段名称:

    names(fromJSON(x))
    
    [1] "GlobalId"   "MetaDataId" "vendorId"   "vendorName" "Uid"        "statsType"  "Url"        "RunDay"     "reportName"
    [10] "Release"    "supported"  "deleted"    "showIP"     "trickle"   
    

    虽然如果列名要构建一个data.frame,那么库应该能够为您完成工作:

    fromJSON(x)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 2017-10-26
      • 2015-03-22
      • 1970-01-01
      • 2021-03-11
      • 2021-07-05
      相关资源
      最近更新 更多