【问题标题】:Values in column change when reading in excel file读取excel文件时列中的值发生变化
【发布时间】:2019-07-18 15:43:55
【问题描述】:

我正在尝试使用带有时间戳列的 readXL 包读取 excel 文件。对于这个特定的文件,它们是随机分布的时间,所以它们看起来像 00:01、00:03、00:04、00:08、00:10 等,所以我需要这些时间戳才能正确读入 R。时间戳变成随机小数。

我查看了 excel 文件(从不同的程序输出),似乎 excel 中的列类型是“自定义”。当我将该“自定义”列转换为“文本”时,它会显示实际存储并读入 R 的小数。有没有办法加载时间戳而不是小数?

我已经尝试使用 col_types 将其设为文本或整数,但它仍在以小数而不是时间戳的形式读取数字。

df<-
  readxl::read_xlsx(
    "./Data/LAFLAC_60sec_9999Y1_2019-06-28.xlsx",
    range = cell_cols("J:CE"),
    col_names = T
  )

【问题讨论】:

  • 大多数日期/时间从起点开始以天或秒为单位存储。我猜这些实际上是秒数,您可以使用它来将其转换回日期时间。你能确认是不是这样吗?如果 00:01 是一分钟,那么它应该显示为 60 秒,这似乎是怎么回事?

标签: r readxl


【解决方案1】:

小数表示午夜之后的一天。所以凌晨 1:00 是 0.041667,或 1/24。

在 R 中,您可以通过多种方式将这些数字转换回时间戳。

试试这个页面了解更多信息 https://stackoverflow.com/a/14484019/6912825

【讨论】:

    猜你喜欢
    • 2013-12-17
    • 1970-01-01
    • 2013-12-29
    • 2014-11-23
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    相关资源
    最近更新 更多