반응형
R 압축을 풀지 않고 zip 데이터 파일 읽기
나는 매우 큰 zip 파일을 가지고 있으며 다음과 같이 압축을 풀지 않고 R로 읽으려고합니다.
temp <- tempfile("Sales", fileext=c("zip"))
data <- read.table(unz(temp, "Sales.dat"), nrows=10, header=T, quote="\"", sep=",")
Error in open.connection(file, "rt") : cannot open the connection
In addition: Warning message:
In open.connection(file, "rt") :
cannot open zip file 'C:\Users\xxx\AppData\Local\Temp\RtmpyAM9jH\Sales13041760345azip'
zip 파일이 호출 Sales.zip
되고 라는 파일 만 포함되어 Sales.dat
있는 경우 다음을 수행 할 수 있습니다 (파일이 작업 디렉토리에 있다고 가정).
data <- read.table(unz("Sales.zip", "Sales.dat"), nrows=10, header=T, quote="\"", sep=",")
unz를 사용할 필요가 없습니다. 이제 read.table이 압축 된 파일을 직접 처리 할 수 있습니다.
data <- read.table("Sales.zip", nrows=10, header=T, quote="\"", sep=",")
이 게시물 보기
readr
파일 접미사가 파일의 특성을 나타내는 경우 패키지 의 메서드는 압축 파일도 지원합니다. 즉, .gz, .bz2, .xz 또는 .zip으로 끝나는 파일은 자동으로 압축 해제됩니다.
require(readr)
myData <- read_csv("foo.txt.gz")
시스템에 zcat이 설치되어있는 경우 (linux, macos 및 cygwin의 경우) 다음을 사용할 수도 있습니다.
zipfile<-"test.zip"
myData <- read.delim(pipe(paste("zcat", zipfile)))
이 솔루션은 임시 파일이 생성되지 않는다는 장점도 있습니다.
read_csv 및 read.table과 함께 gzfile 함수는 압축 파일을 읽을 수 있습니다.
library(readr)
df = read_csv(gzfile("file.csv.gz"))
library(data.table)
df = read.table(gzfile("file.csv.gz"))
readr 패키지의 read_csv는 gzfile 함수를 사용하지 않고도 압축 파일을 읽을 수 있습니다.
library(readr)
df = read_csv("file.csv.gz")
read_csv는 read.table보다 빠르기 때문에 권장됩니다.
이 표현에서 당신은 점을 잃었습니다
temp <- tempfile("Sales", fileext=c("zip"))
그것은해야한다:
temp <- tempfile("Sales", fileext=c(".zip"))
참조 URL : https://stackoverflow.com/questions/12460938/r-reading-in-a-zip-data-file-without-unzipping-it
반응형
'Programing' 카테고리의 다른 글
ADT 22.3 (android 4.4)- '씬 생성 후 #init ()를 호출해야 함'오류가 발생 함 (0) | 2020.12.25 |
---|---|
Objective-c에 SEL 유형이있는 속성 (0) | 2020.12.25 |
AAPT (Android Asset Packaging Tool) 란 무엇이며 어떻게 작동합니까? (0) | 2020.12.25 |
조인 된 테이블에서 LIMIT 1로 MySQL JOIN (0) | 2020.12.25 |
“[네이티브 코드]”는 무엇을 의미합니까? (0) | 2020.12.25 |