在R中将结构化文本文件转换为列CSV
我正在编写脚本,将一个大文本文件转换为CSV文件。文本文件中的所有数据都以块的形式显示,如下所示。每个块都由{}分隔。我要做的是读取这些块中的第一个,将不同的类别(如GlobalId、MetaDataId和其他类别)转换为列标题,然后在这些列标题下对文本文件的其余部分进行排序在R中将结构化文本文件转换为列CSV,r,dataframe,R,Dataframe,我正在编写脚本,将一个大文本文件转换为CSV文件。文本文件中的所有数据都以块的形式显示,如下所示。每个块都由{}分隔。我要做的是读取这些块中的第一个,将不同的类别(如GlobalId、MetaDataId和其他类别)转换为列标题,然后在这些列标题下对文本文件的其余部分进行排序 { "GlobalId": 4222124650675654, "MetaDataId": "0e1a6cbe-fd3d-4782-af6a-fe3ffceb6a0d", "vendorId": "
{
"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
},
我试过了,但没有多大成功 这似乎是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
}'
虽然如果列名要构建一个data.frame
,但库应该能够为您完成以下工作:
fromJSON(x)
这似乎是可以使用
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
}'
虽然如果列名要构建一个data.frame
,但库应该能够为您完成以下工作:
fromJSON(x)