将Base64解码为数据帧

时间:2019-04-09 10:45:28

标签: r deserialization

从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()

无论我扔给我什么...我都可以将对象写入磁盘,然后再读回,但是我希望避免这种情况。

将序列化的文本字符串中的数据放入具有列名的数据框中会很棒!

1 个答案:

答案 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。

相关问题