我过去曾使用?unzip
来获取使用R的压缩文件的内容。这次,我很难从.gz文件中提取文件{{3 }}
我尝试了?gzfile
和?gzcon
,但未能将其付诸实施。我们将非常感谢您提供的任何帮助。
答案 0 :(得分:57)
以下是一个有用的示例,可以帮助说明gzfile()
和gzcon()
的用途
foo <- data.frame(a=LETTERS[1:3], b=rnorm(3))
foo
# a b
#1 A 0.586882
#2 B 0.218608
#3 C 1.290776
write.table(foo, file="/tmp/foo.csv")
system("gzip /tmp/foo.csv") # being very explicit
既然已经编写了文件,而不是隐式使用file()
,请使用gzfile()
:
read.table(gzfile("/tmp/foo.csv.gz"))
# a b
#1 A 0.586882
#2 B 0.218608
#3 C 1.290776
您指向的文件是压缩的tar存档,据我所知,R本身没有tar档案的接口。这些通常用于分发源代码 - 例如R包和R源。
答案 1 :(得分:31)
要在R中解压缩文件,您可以执行
library(R.utils)
gunzip("file.gz")
答案 2 :(得分:26)
如果您确实要解压缩文件,只需使用支持 gzip 的untar
功能。
E.g:
untar('chadwick-0.5.3.tar.gz')
答案 3 :(得分:19)
http://blog.revolutionanalytics.com/2009/12/r-tip-save-time-and-space-by-compressing-data-files.html
R为最新版本(2.10)中的某些压缩文件添加了透明解压缩功能。如果您使用bzip2,xvz或gzip压缩文件,则可以将它们读入R,就好像它们是纯文本文件一样。你应该有适当的文件扩展名。
命令......
myData <- read.table('myFile.gz')
#gzip压缩文件的扩展名为“gz”
就像'myFile.gz'是原始文本文件一样工作。
答案 4 :(得分:1)
tsv.gz
与it('enter the manifest page', () => {
// cases.checkManifest();
browser.wait(browser.get(browser.baseUrl + 'report/manifest'));
let dateStartPicker = element.all(by.css('[text]')).filter(pickers => {
return pickers.getAttribute('text').then(txt => {
return txt.includes('Start Date');
})
}).first();
dateStartPicker.getAttribute('text').then(txt => {
console.log(txt)
})
let dateInput = dateStartPicker.element(by.className('k-input'))
dateInput.getAttribute('aria-valuetext').then(txt => {
console.log(txt)
});
})
配合使用