在 R 中使用 data.table::fread 读取非 ISO 格式的日期列

Using data.table::fread in R to read in date column with non-ISO format

我有一个正在阅读的文件。一切都很好,除了一个细节。在文件中,日期以“mm/dd/yyyy”格式存储。当我试着带着恐惧阅读这篇文章时,我正在使用

fread(..., select = c(var = "Date"))

fread 似乎假定它是 ISO 格式,因此存储为 1/9/2019 的 2019 年 1 月 9 日被读取为日期“0001-09-20”,即第 1 年的 9 月 20 日。是否有指定一种格式来告诉 fread 如何阅读这个的方法?它可以在 select 或 colClasses 中,尽管 select 是我的偏好,因为我已经 select 编辑了大约 80 列并指定了它们的数据类型。

我知道我可以将其作为字符读入,然后再进行更改。在读取数据时,我正在尝试做尽可能多的事情。如果我必须在事后更改它,我会这样做。

你有两个选择。

  1. 读取为字符并在额外的步骤中转换。

  2. 在 data.table github 存储库中填写功能请求,提供您的最小示例文件并等待它实现。

就我个人而言,我会选择第一个。好在你可以两者兼顾。