关于这个主题有非常相似的问题,但非正确地解决了这个问题.
我有一个csv.gz文件,我想"解压缩"该文件并将其作为普通的*.csv文件.我想首先要读取csv.gz文件,然后通过write.csv命令创建csv文件本身.
在这里,我尝试了其他一些事情:
gz.file <- read.csv(gzfile(file.choose()), as.is = TRUE)
Run Code Online (Sandbox Code Playgroud)
得到:
head(gz.file)
farmNo.milk.energy.vet.cows
1 1;862533;117894;21186;121
2 2;605764;72049;43910;80
3 3;865658;158466;54583;95
4 4;662331;66783;45469;87
5 5;1003444;101714;81625;125
6 6;923512;252408;96807;135
Run Code Online (Sandbox Code Playgroud)
文件声称是data.frame,但不像一个,我在这里缺少什么?
class(gz.file)
[1] "data.frame"
Run Code Online (Sandbox Code Playgroud)
一旦读入内存我想在纯csv文件中使用它,那么write.csv会是解决方案吗?
write.csv(gz.file, file="PATH")
Run Code Online (Sandbox Code Playgroud)
jan*_*cki 18
在最新版本的data.table
快速 csv 阅读器中fread
,支持 csv.gz 文件。它会根据文件名自动检测是否需要解压缩,因此没有太多新知识。以下应该有效。
library(data.table)
dt = fread("data.csv.gz")
Run Code Online (Sandbox Code Playgroud)
这个特性需要额外的,幸运的是轻量级的依赖,你可以在手册中读到?fread
如果安装了 R.utils 包,则支持以 .gz 和 .bz2 结尾的压缩文件。
要编写压缩参数,请使用fwrite(compress="gzip")
.
lib*_*orm 14
tidyverse
,特别是该包,对压缩文件(以及其他一些文件)readr
具有透明支持gzip
library(readr)
read_csv("file.csv.gz") -> d
# write uncompressed data
d %>% write_csv("file.csv")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12935 次 |
最近记录: |