當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R readr read_file 讀/寫完整文件


read_file() 將完整文件讀取到單個對象中:長度為 1 的字符向量或原始向量。 write_file() 采用單個字符串或原始向量,並按原樣寫入。處理二進製數據或具有未知編碼的文本數據時,原始向量非常有用。

用法

read_file(file, locale = default_locale())

read_file_raw(file)

write_file(x, file, append = FALSE, path = deprecated())

參數

file

文件路徑、連接或文字數據(單個字符串或原始向量)。

.gz.bz2.xz.zip 結尾的文件將自動解壓縮。將自動下載以 http://https://ftp://ftps:// 開頭的文件。遠程gz文件也可以自動下載並解壓。

文字數據對於示例和測試最有用。要被識別為文字數據,輸入必須用 I() 包裝,是包含至少一個換行符的字符串,或者是至少包含一個帶有換行符的字符串的向量。

使用值 clipboard() 將從係統剪貼板讀取。

locale

區域設置控製默認值因地而異。默認區域設置為 US-centric(如 R),但您可以使用 locale() 創建自己的區域設置來控製默認時區、編碼、小數標記、大標記和日/月名稱等內容。

x

單個字符串或要寫入磁盤的原始向量。

append

如果 FALSE ,將覆蓋現有文件。如果 TRUE ,將追加到現有文件。在這兩種情況下,如果文件不存在,則會創建新文件。

path

[Deprecated]使用file相反。

read_file:長度為 1 的字符向量。 read_lines_raw:原始向量。

例子

read_file(file.path(R.home("doc"), "AUTHORS"))
#> [1] "Authors of R.\n\nR was initially written by Robert Gentleman and Ross Ihaka—also known as \"R & R\"\nof the Statistics Department of the University of Auckland.\n\nSince mid-1997 there has been a core group with write access to the R\nsource, currently consisting of\n\nDouglas Bates\nJohn Chambers\nPeter Dalgaard\nRobert Gentleman\nKurt Hornik\nRoss Ihaka\nTomas Kalibera\nMichael Lawrence\nFriedrich Leisch\nUwe Ligges\nThomas Lumley\nMartin Maechler\nSebastian Meyer\nPaul Murrell\nMartyn Plummer\nBrian Ripley\nDeepayan Sarkar\nDuncan Temple Lang\nLuke Tierney\nSimon Urbanek\n\nplus Heiner Schwarte up to October 1999, Guido Masarotto up to June 2003,\nStefano Iacus up to July 2014, Seth Falcon up to August 2015, Duncan Murdoch\nup to September 2017, and Martin Morgan up to June 2021.\n\n\nCurrent R-core members can be contacted via email to R-project.org\nwith name made up by replacing spaces by dots in the name listed above.\n\n(The authors of code from other projects included in the R distribution\nare listed in the COPYRIGHTS file.)\n"
read_file_raw(file.path(R.home("doc"), "AUTHORS"))
#>    [1] 41 75 74 68 6f 72 73 20 6f 66 20 52 2e 0a 0a 52 20 77 61 73 20 69
#>   [23] 6e 69 74 69 61 6c 6c 79 20 77 72 69 74 74 65 6e 20 62 79 20 52 6f
#>   [45] 62 65 72 74 20 47 65 6e 74 6c 65 6d 61 6e 20 61 6e 64 20 52 6f 73
#>   [67] 73 20 49 68 61 6b 61 e2 80 94 61 6c 73 6f 20 6b 6e 6f 77 6e 20 61
#>   [89] 73 20 22 52 20 26 20 52 22 0a 6f 66 20 74 68 65 20 53 74 61 74 69
#>  [111] 73 74 69 63 73 20 44 65 70 61 72 74 6d 65 6e 74 20 6f 66 20 74 68
#>  [133] 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 41 75 63 6b 6c 61
#>  [155] 6e 64 2e 0a 0a 53 69 6e 63 65 20 6d 69 64 2d 31 39 39 37 20 74 68
#>  [177] 65 72 65 20 68 61 73 20 62 65 65 6e 20 61 20 63 6f 72 65 20 67 72
#>  [199] 6f 75 70 20 77 69 74 68 20 77 72 69 74 65 20 61 63 63 65 73 73 20
#>  [221] 74 6f 20 74 68 65 20 52 0a 73 6f 75 72 63 65 2c 20 63 75 72 72 65
#>  [243] 6e 74 6c 79 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 0a 0a 44 6f
#>  [265] 75 67 6c 61 73 20 42 61 74 65 73 0a 4a 6f 68 6e 20 43 68 61 6d 62
#>  [287] 65 72 73 0a 50 65 74 65 72 20 44 61 6c 67 61 61 72 64 0a 52 6f 62
#>  [309] 65 72 74 20 47 65 6e 74 6c 65 6d 61 6e 0a 4b 75 72 74 20 48 6f 72
#>  [331] 6e 69 6b 0a 52 6f 73 73 20 49 68 61 6b 61 0a 54 6f 6d 61 73 20 4b
#>  [353] 61 6c 69 62 65 72 61 0a 4d 69 63 68 61 65 6c 20 4c 61 77 72 65 6e
#>  [375] 63 65 0a 46 72 69 65 64 72 69 63 68 20 4c 65 69 73 63 68 0a 55 77
#>  [397] 65 20 4c 69 67 67 65 73 0a 54 68 6f 6d 61 73 20 4c 75 6d 6c 65 79
#>  [419] 0a 4d 61 72 74 69 6e 20 4d 61 65 63 68 6c 65 72 0a 53 65 62 61 73
#>  [441] 74 69 61 6e 20 4d 65 79 65 72 0a 50 61 75 6c 20 4d 75 72 72 65 6c
#>  [463] 6c 0a 4d 61 72 74 79 6e 20 50 6c 75 6d 6d 65 72 0a 42 72 69 61 6e
#>  [485] 20 52 69 70 6c 65 79 0a 44 65 65 70 61 79 61 6e 20 53 61 72 6b 61
#>  [507] 72 0a 44 75 6e 63 61 6e 20 54 65 6d 70 6c 65 20 4c 61 6e 67 0a 4c
#>  [529] 75 6b 65 20 54 69 65 72 6e 65 79 0a 53 69 6d 6f 6e 20 55 72 62 61
#>  [551] 6e 65 6b 0a 0a 70 6c 75 73 20 48 65 69 6e 65 72 20 53 63 68 77 61
#>  [573] 72 74 65 20 75 70 20 74 6f 20 4f 63 74 6f 62 65 72 20 31 39 39 39
#>  [595] 2c 20 47 75 69 64 6f 20 4d 61 73 61 72 6f 74 74 6f 20 75 70 20 74
#>  [617] 6f 20 4a 75 6e 65 20 32 30 30 33 2c 0a 53 74 65 66 61 6e 6f 20 49
#>  [639] 61 63 75 73 20 75 70 20 74 6f 20 4a 75 6c 79 20 32 30 31 34 2c 20
#>  [661] 53 65 74 68 20 46 61 6c 63 6f 6e 20 75 70 20 74 6f 20 41 75 67 75
#>  [683] 73 74 20 32 30 31 35 2c 20 44 75 6e 63 61 6e 20 4d 75 72 64 6f 63
#>  [705] 68 0a 75 70 20 74 6f 20 53 65 70 74 65 6d 62 65 72 20 32 30 31 37
#>  [727] 2c 20 61 6e 64 20 4d 61 72 74 69 6e 20 4d 6f 72 67 61 6e 20 75 70
#>  [749] 20 74 6f 20 4a 75 6e 65 20 32 30 32 31 2e 0a 0a 0a 43 75 72 72 65
#>  [771] 6e 74 20 52 2d 63 6f 72 65 20 6d 65 6d 62 65 72 73 20 63 61 6e 20
#>  [793] 62 65 20 63 6f 6e 74 61 63 74 65 64 20 76 69 61 20 65 6d 61 69 6c
#>  [815] 20 74 6f 20 52 2d 70 72 6f 6a 65 63 74 2e 6f 72 67 0a 77 69 74 68
#>  [837] 20 6e 61 6d 65 20 6d 61 64 65 20 75 70 20 62 79 20 72 65 70 6c 61
#>  [859] 63 69 6e 67 20 73 70 61 63 65 73 20 62 79 20 64 6f 74 73 20 69 6e
#>  [881] 20 74 68 65 20 6e 61 6d 65 20 6c 69 73 74 65 64 20 61 62 6f 76 65
#>  [903] 2e 0a 0a 28 54 68 65 20 61 75 74 68 6f 72 73 20 6f 66 20 63 6f 64
#>  [925] 65 20 66 72 6f 6d 20 6f 74 68 65 72 20 70 72 6f 6a 65 63 74 73 20
#>  [947] 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 52 20 64 69 73 74
#>  [969] 72 69 62 75 74 69 6f 6e 0a 61 72 65 20 6c 69 73 74 65 64 20 69 6e
#>  [991] 20 74 68 65 20 43 4f 50 59 52 49 47 48 54 53 20 66 69 6c 65 2e 29
#> [1013] 0a

tmp <- tempfile()

x <- format_csv(mtcars[1:6, ])
write_file(x, tmp)
identical(x, read_file(tmp))
#> [1] TRUE

read_lines(I(x))
#> [1] "mpg,cyl,disp,hp,drat,wt,qsec,vs,am,gear,carb"
#> [2] "21,6,160,110,3.9,2.62,16.46,0,1,4,4"         
#> [3] "21,6,160,110,3.9,2.875,17.02,0,1,4,4"        
#> [4] "22.8,4,108,93,3.85,2.32,18.61,1,1,4,1"       
#> [5] "21.4,6,258,110,3.08,3.215,19.44,1,0,3,1"     
#> [6] "18.7,8,360,175,3.15,3.44,17.02,0,0,3,2"      
#> [7] "18.1,6,225,105,2.76,3.46,20.22,1,0,3,1"      
源代碼:R/file.R

相關用法


注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Read/write a complete file。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。