我有一个带有这个声誉结构的txt文件:
“
fileName1.doc Author=Name
fileName2.doc Author=Name
fileName2.doc Author=Name
“
如何在不使用扩展程序且作者使用扫描的情况下仅保存文件名(前9个字符)?
我用过:
Fnames <- scan("E:/myFiles.txt",character())
答案 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()