当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R readr read_log 将通用/组合日志文件读入 tibble


这是日志文件的相当标准的格式 - 它使用引号和方括号进行引用,并且可能会在带引号的字符串中嵌入文字引号。破折号 "-" 用于缺失值。

用法

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

TRUEFALSE 或列名称的字符向量。

如果 TRUE ,输入的第一行将用作列名称,并且不会包含在 DataFrame 中。如果 FALSE ,将自动生成列名称:X1、X2、X3 等。

如果 col_names 是字符向量,则这些值将用作列的名称,并且输入的第一行将被读入输出数据帧的第一行。

缺少 ( NA ) 列名将生成警告,并用虚拟名称 ...1...2 等进行填充。重复的列名将生成警告并使其唯一,请参阅 name_repair 来控制其方式完毕。

col_types

NULLcols() 规范或字符串之一。有关更多详细信息,请参阅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/read_log.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Read common/combined log file into a tibble。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。