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
例子
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 readr read_fwf 將固定寬度文件讀入 tibble
- R readr read_rds 讀/寫 RDS 文件。
- R readr read_lines 從文件中讀取/寫入行
- R readr read_builtin 從包中讀取內置對象
- R readr read_delim 將分隔文件(包括 CSV 和 TSV)讀入 tibble
- R readr read_table 將空格分隔的列讀入 tibble
- R readr read_log 將通用/組合日誌文件讀入 tibble
- R readr readr_example 獲取 readr 示例的路徑
- R readr datasource 創建源對象。
- R readr melt_delim 返回分隔文件中每個標記的熔化數據(包括 csv 和 tsv)
- R readr parse_number 靈活地解析數字
- R readr Tokenizers 分詞器。
- R readr melt_table 返回空格分隔文件中每個標記的熔化數據
- R readr date_names 創建或檢索日期名稱
- R readr type_convert 重新轉換現有 DataFrame 中的字符列
- R readr locale 創建語言環境
- R readr write_delim 將數據幀寫入分隔文件
- R readr parse_vector 解析字符向量。
- R readr with_edition 暫時更改活動閱讀器版本
- R readr format_delim 將 DataFrame 轉換為分隔字符串
- R readr edition_get 檢索當前活動版本
- R readr melt_fwf 返回固定寬度文件中每個標記的熔化數據
- R readr count_fields 計算文件每一行中的字段數
- R readr problems 檢索解析問題
- R readr parse_guess 使用“最佳”類型進行解析
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Read/write a complete file。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。