use*_*875 3 csv r stdout system dataframe
我用以下命令调用系统命令
driveFileList <- try(as.data.frame(system(paste0("/usr/local/bin/gdrive list "), intern = TRUE, ignore.stderr = TRUE)))
Run Code Online (Sandbox Code Playgroud)
我检查结果
print(dim(driveFileList))
print(typeof(driveFileList))
Run Code Online (Sandbox Code Playgroud)
我看到我有一个 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
Run Code Online (Sandbox Code Playgroud)
我怎样才能“爆炸”这个,得到一个真实的数据框?
谢谢约尔格
as.data.frame()\xe2\x80\x99 并没有像你想象的那样做。该system()命令返回一个字符串(某种格式),因此您需要解析它。Tryread.table()或类似的函数(确切使用哪个函数以及什么参数,取决于调用的确切输出)。
您需要通过其text参数(即result = read.table(text = system_output, \xe2\x80\xa6))将文本传递到函数中,或者您可以使用pipe()代替system(),并读取结果流。
查看gdrive 的自述文件,它看起来似乎比您的实例read.fwf()更合适。read.table()