2013-09-24 27 views
7

Tôi cần phải đọc nhiều tệp nén với các định dạng nén khác nhau. Tôi không muốn tự giải nén tất cả các tệp. Tôi muốn R xử lý việc giải nén và đọc độc lập với định dạng nén. Đây là nơi tôi bị kẹt.R: Chức năng chung để giải nén tập tin

Tôi có thể xây dựng một hàm có kiểu cấu trúc chuyển đổi cho zip - giải nén, gz - gzfile, v.v. nhưng tôi muốn biết nếu có một số chức năng có thể giải nén tệp bất kể định dạng nén.

Mọi đề xuất đều được đánh giá cao. Cảm ơn rất nhiều!

PS: Tôi biết rằng read.table có thể đọc (một số, nếu không phải tất cả) tệp nén. Tuy nhiên, tôi đã được nhích về phía data.table::fread (vì nó là nhanh hơn nhiều), và điều đó dường như không thể đọc các tập tin nén (http://r.789695.n4.nabble.com/fread-on-gzipped-files-td4663116.html - chưa?). Tôi muốn tạm thời giải nén và sử dụng fread thay vì sử dụng read.table.

+1

Whaaaat ?! Một downvote? Đây là câu hỏi SO đầu tiên của tôi. Nếu bạn nghĩ rằng điều này xứng đáng là một downvote, xin vui lòng cho tôi biết lý do tại sao bạn nghĩ như vậy, ít nhất tôi sẽ học theo cách đó. Cảm ơn. – TheComeOnMan

Trả lời

1

Sau đó, đây là một phiếu bầu tán thành :-)

Btw Tôi không nghĩ rằng có một generic "giải nén" chức năng nào sự kỳ diệu cho bạn (như trong bất kỳ ngôn ngữ shell). Các tùy chọn có thể chỉ đơn giản là quá rộng - nhưng tôi nghi ngờ bạn bao gồm 80% các trường hợp với zip/tar/rar.

Chỉ cần viết đơn giản uncompress <- function(type = c("zip", "tgz", "tar", "arj :-)))")) {...} đó là ý định ban đầu của bạn.