从API中,我获得了Base64编码的数据集。我使用RCurl::base64
对其进行解码,但已将其序列化。如何将其转换为数据框?
解码返回值后,我得到一个长字符串,其中用半冒号分隔数据和列名。看起来像这样:
[1] "\"lfdn\";\"pseudonym\";\"external_lfdn\";\"tester\"\r\n\"50\";\"434444345\";\"0\";\"0\"\r\n\"91\";\"454444748\";\"0\";\"0\"\r\n\
您可以使用简单的cat(x)
来查看结构:
"lfdn";"pseudonym";"external_lfdn";"tester"
"50";"434444345";"0";"0"
"91";"454444748";"0";"0"
"111";"444444141";"0";"0"
我尝试了显而易见的unserialize(x)
,但得到了:
R> Error in unserialize(enc) :
R> character vectors are no longer accepted by unserialize()
无论我扔给我什么...我都可以将对象写入磁盘,然后再读回,但是我希望避免这种情况。
将序列化的文本字符串中的数据放入具有列名的数据框中会很棒!
答案 0 :(得分:1)
这应该可以解决问题:
read.table(text=j, header = TRUE, sep = ";")
# lfdn pseudonym external_lfdn tester
# 1 50 434444345 0 0
# 2 91 454444748 0 0
注意。我从上面复制了您的字符串,它不包含最后一行,其中包含111。