将数据读入带有一些限制的矢量/扫描[R]

时间:2017-12-30 21:37:36

标签: r

我有一个带有这个声誉结构的txt文件:

“
fileName1.doc  Author=Name
fileName2.doc  Author=Name
fileName2.doc  Author=Name
“

如何在不使用扩展程序且作者使用扫描的情况下仅保存文件名(前9个字符)?

我用过:

Fnames <- scan("E:/myFiles.txt",character())

2 个答案:

答案 0 :(得分:3)

要仅抓取前9个字符,请使用sep="\n"逐行扫描并使用substr(..., 1, 9)

substr(scan("E:/myFiles.txt", what="", sep="\n"), 1, 9)

您甚至可以使用read.table()(后台使用scan())和sep="."并抓住第一列。这样,如果文件名长度超过9个字符,您就不必担心了。它将全部归还。

read.table("E:/myFiles.txt", sep=".", stringsAsFactors=FALSE)[[1]]

作为示例使用text的{​​{1}}参数如下:

read.table()

数据:

read.table(text = x, sep = ".", stringsAsFactors = FALSE)[[1]]
# [1] "fileName1" "fileName2" "fileName2"

答案 1 :(得分:0)

这是一个使用readr包的解决方案,它比基础R快10倍。将文件读作固定文件允许我们只读取每行的前9个字符,并利用{ {1}}性能特征。

readr::read_fwf()