gpt4 book ai didi

R从系统命令的标准输出读取数据到数据帧

转载 作者:行者123 更新时间:2023-12-05 02:20:31 25 4
gpt4 key购买 nike

我用

调用系统命令
driveFileList <- try(as.data.frame(system(paste0("/usr/local/bin/gdrive list "), intern = TRUE, ignore.stderr = TRUE)))

我检查结果

print(dim(driveFileList))
print(typeof(driveFileList))

我看到我有一个包含 3 行和 0 列的列表。

但是系统命令实际上给了我这样的东西

1  Id             Name              Type              Created
2 23423423 nameOfFile1.csv doc 2016-08-22 18:40:05
3 2342342 nameOfFile2.csv doc 2016-08-22 18:39:39
4 34323334 nameOfFile3.csv doc 2016-08-23 17:58:46

我怎样才能“分解”它,得到一个真实的数据框?

谢谢约尔格

最佳答案

as.data.frame() 并不像您想象的那样。 system() 命令返回一个字符串(某种格式),因此您需要对其进行解析。尝试 read.table() 或类似函数(具体使用哪个函数以及使用什么参数取决于调用的确切输出)。

您需要通过函数的 text 参数(即 result = read.table(text = system_output, …))将文本传递给函数,或者您可以使用pipe() 而不是 system(),并读取结果流。

查看 readme of gdrive , 看起来好像 read.fwf()在您的实例中将比 read.table() 更合适。

关于R从系统命令的标准输出读取数据到数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39126037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com