读取或写入文件连接
并非总是可以自由地读取或写入本地系统路径。例如,如果 R 代码流 map-reduce 必须要读取和写入文件连接。还有其他场景,其中一个超越本地系统,随着云和大数据的出现,这变得越来越普遍。其中一种方法是按逻辑顺序。
建立文件连接以使用 file()
命令读取(r
用于读取模式):
conn <- file("/path/example.data", "r") #when file is in local system
conn1 <- file("stdin", "r") #when just standard input/output for files are available
由于这将建立文件连接,因此可以从这些文件连接中读取数据,如下所示:
line <- readLines(conn, n=1, warn=FALSE)
这里我们正在逐行读取文件连接 conn
中的数据作为 n=1
。可以改变 n
的值(例如 10,20 等)来读取数据块以便更快地读取(一次读取 10 或 20 行块)。要一次性阅读完整的文件,请设置 n=-1
。
数据处理或说模型执行后; 可以使用许多不同的命令(如 writeLines(),cat()
等)将结果写回文件连接,这些命令能够写入文件连接。但是,所有这些命令都将利用为写入而建立的文件连接。这可以使用 file()
命令完成:
conn2 <- file("/path/result.data", "w") #when file is in local system
conn3 <- file("stdout", "w") #when just standard input/output for files are available
然后写入如下数据:
writeLines("text",conn2, sep = "\n")