我想将几个固定宽度格式的 txt 文件读入 R,但我首先需要将它们解压缩。
由于它们是非常大的文件,我想read_fwf
从readr
包中使用它,因为它非常快。
当我做:
read_fwf(unz(zipfileName, fileName), fwf_widths(colWidths, col_names = colNames))
我收到这个错误Error in isOpen(con) : invalid connection
但是,当我这样做时:
read.table(unz(zipfileName, fileName))
没有指定宽度,它读起来R
就很好。关于为什么这不起作用的任何想法read_fwf
?
我无法制作可重现的示例。这是我得到的:
df <- data.frame(
rnorm(100),
rnorm(100)
)
write.table(df, "data.txt", row.names=F, col.names = F)
zip(zipfile = "data.zip", files = "data.txt")
colWidths <- rep(2, 100)
colNames <- c("thing1","thing2")
zipfileName <- "data.zip"
fileName <- "data.csv"