R 在不解压缩的情况下读取 zip 数据文件(信息丢失)
R Reading in a zip data file without unzipping it (loss of information)
根据 this SO question 中的一个答案,我得到了以下几行:
require(readr)
myData <- read_csv("foo.txt.gz")
但是由于某种原因,这让我丢失了数据。
我的第二列是时间列,格式如下:9:30:00.244271971
而这段代码将其转换为:09:30:00,因此丢失了很多信息。
我该如何解决这个问题?有没有办法避免丢失这些信息?
@jaySf 评论证明效果很好。所以这里是答案:
(我有 5 列,前四列是字符,最后一列是数字。)
myData <- read_csv("foo.txt.gz", col_types = list("c","c","c","c","n"))
您也可以随时使用 data.table
中的 fread()
。您可以从文件参数执行任意 shell 命令来处理解压缩,默认情况下它也不会自动强制您的时间戳,因此您不应该有截断问题。小插图 Convenience features of fread 有一些很好的例子。
(奖金,它比 reader
快得多,如果你安装开发 v1.10.5 版本关闭 github 和 multi-threading 在 fread
.\
library(data.table)
myData <- fread("gunzip -c foo.txt.gz")
根据 this SO question 中的一个答案,我得到了以下几行:
require(readr)
myData <- read_csv("foo.txt.gz")
但是由于某种原因,这让我丢失了数据。
我的第二列是时间列,格式如下:9:30:00.244271971 而这段代码将其转换为:09:30:00,因此丢失了很多信息。
我该如何解决这个问题?有没有办法避免丢失这些信息?
@jaySf 评论证明效果很好。所以这里是答案:
(我有 5 列,前四列是字符,最后一列是数字。)
myData <- read_csv("foo.txt.gz", col_types = list("c","c","c","c","n"))
您也可以随时使用 data.table
中的 fread()
。您可以从文件参数执行任意 shell 命令来处理解压缩,默认情况下它也不会自动强制您的时间戳,因此您不应该有截断问题。小插图 Convenience features of fread 有一些很好的例子。
(奖金,它比 reader
快得多,如果你安装开发 v1.10.5 版本关闭 github 和 multi-threading 在 fread
.\
library(data.table)
myData <- fread("gunzip -c foo.txt.gz")