這是日誌文件的相當標準的格式 - 它使用引號和方括號進行引用,並且可能會在帶引號的字符串中嵌入文字引號。破折號 "-" 用於缺失值。
用法
read_log(
  file,
  col_names = FALSE,
  col_types = NULL,
  trim_ws = TRUE,
  skip = 0,
  n_max = Inf,
  show_col_types = should_show_types(),
  progress = show_progress()
)
參數
- file
 - 
文件路徑、連接或文字數據(單個字符串或原始向量)。
以
.gz、.bz2、.xz或.zip結尾的文件將自動解壓縮。將自動下載以http://、https://、ftp://或ftps://開頭的文件。遠程gz文件也可以自動下載並解壓。文字數據對於示例和測試最有用。要被識別為文字數據,輸入必須用
I()包裝,是包含至少一個換行符的字符串,或者是至少包含一個帶有換行符的字符串的向量。使用值
clipboard()將從係統剪貼板讀取。 - col_names
 - 
TRUE、FALSE或列名稱的字符向量。如果
TRUE,輸入的第一行將用作列名稱,並且不會包含在 DataFrame 中。如果FALSE,將自動生成列名稱:X1、X2、X3 等。如果
col_names是字符向量,則這些值將用作列的名稱,並且輸入的第一行將被讀入輸出數據幀的第一行。缺少 (
NA) 列名將生成警告,並用虛擬名稱...1、...2等進行填充。重複的列名將生成警告並使其唯一,請參閱name_repair來控製其方式完畢。 - col_types
 - 
NULL、cols()規範或字符串之一。有關更多詳細信息,請參閱vignette("readr")。如果是
NULL,則所有列類型都將從輸入的guess_max行推斷出來,散布在整個文件中。這很方便(而且快速),但不夠穩健。如果猜測的類型錯誤,您需要增加guess_max或自己提供正確的類型。由
list()或cols()創建的列規範必須為每一列包含一個列規範。如果您隻想讀取列的子集,請使用cols_only()。或者,您可以使用緊湊的字符串表示形式,其中每個字符代表一列:
- 
c = 字符
 - 
我 = 整數
 - 
n = 數字
 - 
d = 雙
 - 
l = 邏輯
 - 
f = 因子
 - 
D = 日期
 - 
T = 日期時間
 - 
t = 時間
 - 
? = 猜猜
 - 
_ 或 - = 跳過
 
默認情況下,讀取沒有列規範的文件將打印一條消息,顯示
readr猜測的內容。要刪除此消息,請設置show_col_types = FALSE或設置 `options(readr.show_col_types = FALSE)。 - 
 - trim_ws
 - 
在解析每個字段之前是否應該刪除前導和尾隨空格(ASCII 空格和製表符)?
 - skip
 - 
讀取數據之前要跳過的行數。如果提供
comment,則跳過後任何注釋行都將被忽略。 - n_max
 - 
讀取的最大行數。
 - show_col_types
 - 
如果是
FALSE,則不顯示猜測的列類型。如果TRUE始終顯示列類型,即使提供了列類型。如果NULL(默認)僅在col_types參數未顯式提供列類型時顯示列類型。 - progress
 - 
顯示進度條?默認情況下,它隻會在交互式會話中顯示,而不會在編織文檔時顯示。可以通過將選項
readr.show_progress設置為FALSE來禁用自動進度條。 
例子
read_log(readr_example("example.log"))
#> 
#> ── Column specification ──────────────────────────────────────────────────
#> cols(
#>   X1 = col_character(),
#>   X2 = col_logical(),
#>   X3 = col_character(),
#>   X4 = col_character(),
#>   X5 = col_character(),
#>   X6 = col_double(),
#>   X7 = col_double()
#> )
#> # A tibble: 2 × 7
#>   X1           X2    X3                   X4             X5       X6    X7
#>   <chr>        <lgl> <chr>                <chr>          <chr> <dbl> <dbl>
#> 1 172.21.13.45 NA    "Microsoft\\JohnDoe" 08/Apr/2001:1… GET …   200  3401
#> 2 127.0.0.1    NA    "frank"              10/Oct/2000:1… GET …   200  2326
相關用法
- R readr read_lines 從文件中讀取/寫入行
 - R readr read_rds 讀/寫 RDS 文件。
 - R readr read_fwf 將固定寬度文件讀入 tibble
 - R readr read_builtin 從包中讀取內置對象
 - R readr read_delim 將分隔文件(包括 CSV 和 TSV)讀入 tibble
 - R readr read_table 將空格分隔的列讀入 tibble
 - R readr read_file 讀/寫完整文件
 - 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 common/combined log file into a tibble。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
