首页 > 原创文章 > 软件开发 > 查看文章

R语言读取多个zip文件数据的方法

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-07-31 08:48 浏览: 1965 IP属地: 深圳

如何实现用R语言一次读取多个zip文件,获取zip文件里的数据?今天丁老师教给大家。

R语言可以使用zip_vector函数,可以读取所有zip压缩文件里的内容,并且无需使用循环。

代码示例:

datprocessorC <- function(zip_vector) {
    f <- function(zipfile) {
        fls <- unzip(zipfile, list = TRUE)$Name
        lapply(fls, \(f) fread(unzip(zipfile, files = f))) |> rbindlist(fill = TRUE)
    }
    lapply(zip_vector, f) |> rbindlist(fill = TRUE)}
    
#从list.files()返回的压缩文件向量上运行
importC <- datprocessorC(zips)

下面是另一个函数,可以不解压zip文件,直接通过unz/readr::read_csv读取,并且不生成zip压缩包里的文件,通通直接读取。但是这个函数提取数据所需的时间大约是datprocessorC的两倍

datprocessorD <- function(zip_vector) {
    f <- function(zipfile) {
        fls <- unzip(zipfile, list = TRUE)$Name
        out <- vector("list", length(fls))
        for(i in seq_along(fls)) {
            tmp <- unz(zipfile, filename = fls[i])
            out[[i]] <- readr::read_csv(file = tmp, show_col_types = FALSE)
        }
        data.table::rbindlist(out, fill = TRUE)
    }
    lapply(zip_vector, f) |> data.table::rbindlist(fill = TRUE)
}


标签:

相关文章

Css3中position:sticky无效...

有同学在前端写css代码时,遇到问题,使用的css3,写的是position:sticky,想要内容滚动到该区域,该区域自动置顶滑动。但一直无效,经过丁老师研究后发现,该区域没有定义高度,而使用position:sticky时,是必须要...

PhpStorm怎么取消html文件中sty...

phpstorm程序中,在打开html时总会出现对 style属性的折叠和隐藏,这样在检查代码的时候非常不直观,容易漏掉很多东西,非常的不方便,如图:

微信小程序获取用户openid达到最高次数限...

有同学提问,他们公司的微信小程序,某个业务板块需要调用微信的openid,但是目前访问量巨大,已经突破了微信小程序对openid的最多次数限制,很多用户无法正常开展业务,该怎么办呢?经过丁老师分析和研究,发现该公司的小程序因访问量巨大,...

如何去掉Wordpress中底部Powere...

有客户咨询,在Wordpress,如何去掉页面底部的Powered by wordpress字符呢?在后台设置的“页面显示-自定义”中,也没有底部页脚内容设置的选项,这个要怎么去掉呢?其实这个问题很简单,只需要进入该主题的目录,对相关的...

推荐文章

FastAdmin非菜单链接,跳转菜单页面的...

在fastadmin中,一个页面的非菜单链接,想要点击后打开指定页面,并且菜单自动展开,该怎么实现呢?经过丁老师研究后,发现超级简单,废话不多说,直接上代码:<a class="btn-addtabs" href=...

微信小程序开发生成普通二维码打开小程序的方法

在开发微信小程序的过程中,生成的是带有logo的小程序二维码,并且这个二维码不是通用的二维码,而是只能用微信打开的专属二维码,如图:遇到这样一个需求,生成的二维码要方形的通用二维码,并且不能带有小程序的logo。这种该怎么实现呢?经过查询,...

CSS常用字体及网页引用方式

1.字体列表及引用链接鸿蒙字体 - B 站400 字重 CSS://s1.hdslb.com/bfs/static/jinkela/long/font/regular.css 500 字重 CSS://s1.hdslb.com/bfs/st...

宝塔面板phpmyadmin数据库表导航树禁...

宝塔面板的phpmyadmin,默认数据库表导航树是每30个一页,非常的不直观,可以通过修改宝塔phpmyadmin配置文件的方式来禁止他分页。修改方法:1.进入服务器/www/server/phpmyadmin/phpmyadmin_随机...

当前在线
免费咨询