【问题标题】:How can I read a semi-colon delimited log file in R?如何在 R 中读取分号分隔的日志文件?
【发布时间】:2022-01-03 18:53:24
【问题描述】:

我目前正在处理一个原始数据集,当从我们的设备下载该原始数据集时,它会在日志文件中输出,其中的值以分号分隔。

我只是想把这些数据加载到 r 中,这样我就可以把它放到一个数据框上并从那里进行分析。但是,由于它是一个日志文件,我不能使用 read_csv 或 read_delim。当我使用 read_log 时,没有可以定义分隔符的输入,因此我的列被误读并且我收到错误消息,因为 r 无法识别;作为文件中的分隔符。

我无法找到任何其他使用带 r 的分隔日志文件的人的实例,但我试图在我辞职将代码上传到 excel 之前使代码正常工作(我不想这样做,都是因为这些文件有很多相关的数据,我的电脑运行 excel 很慢)。有人对我可以用来加载分号分隔的日志文件的函数有什么建议吗?

谢谢!

【问题讨论】:

  • 你为什么不能使用read.delim(或readr::read_delim,或其他类似的东西)?设置sep = ";" 什么不起作用?基础read.csv2 甚至有分号作为默认分隔符

标签: r delimiter logfile


【解决方案1】:

您可以使用data.table::fread()fread自动识别大多数非常可靠的分隔符并读取大多数文件类型,如 *.csv、*.txt 等。 如果您遇到无法猜到正确分隔符的情况,您可以通过设置选项fread(your_file, sep=";") 来定义它。但在您的情况下,这不是必需的。

我创建了一个名为 your_file 的文件,没有任何扩展名和以下内容:

Text1;Text2;Text3;Text4

现在将其导入到 R:

library(data.table)

df = fread("your_file", header=FALSE)

输出:

> df
      V1    V2    V3    V4
1: Text1 Text2 Text3 Text4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    相关资源
    最近更新 更多