我正在编写脚本,以将大型文本文件转换为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,但并没有取得太大的成功。
答案 0 :(得分:0)
这似乎是可以使用jsonlite
读取的json
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)