首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一次读取多个.h5文件

一次读取多个.h5文件
EN

Stack Overflow用户
提问于 2017-08-07 16:01:13
回答 1查看 48关注 0票数 0

我正在使用rhdf5库。而且我想一次读很多文件。我在文件夹输入中有我的.h5文件,然后我尝试:

代码语言:javascript
复制
filenames <- list.files("input", pattern="*.h5", full.names=TRUE)
read_h5<- function(file) {h5read(file, "/datasets/data1/data0")}
for (i in 1:length(filenames)) {
   read_h5(filenames[i])
}

它没有显示任何错误。只要我执行它,什么也不会发生。我也尝试过lapply(filenames,h5read(filenames,name="/datasets/data1/data0"),.GlobalEnv)

但是在这里我收到了一个错误:“条件的长度大于1,只会使用第一个元素”。

为什么它不起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-08 21:04:00

如果有人会有类似的问题,我将与你分享我是如何处理这个问题的。不幸的是,我不得不改变我的尝试。

我的R脚本看起来像这样(test.R):

代码语言:javascript
复制
library(rhdf5)
args <- commandArgs(trailingOnly = TRUE)
filename <- args[1]
output<-args[2]
my_data<-h5read(filename, "/datasets/data1/data0")
write.table(my_data, file=output, row.names=FALSE, col.names=FALSE)

后来,我写了一个bash脚本:

代码语言:javascript
复制
#!/bin/bash

for file in input/*.h5; do 
    [ -f "$file" ] || continue
    beg="${file%%.*}";
    Rscript test.R "$file" "$beg".txt
done

这对我来说很有效!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45542031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档