有没有一种方法可以将R包中的数据帧另存为hdf5以加载到python中?

时间:2020-01-07 13:38:24

标签: python r hdf5

我正在尝试从CASdatasets包(http://cas.uqam.ca/)循环中导出每个数据集,并将它们保存到hdf5文件中,以便每个文件作为大熊猫数据帧加载到python中。但是,我对R的了解不如python。有没有一种方法可以遍历包中的每个数据集并将每个数据集保存为hdf5文件到磁盘?

到目前为止,我有

install.packages("CASdatasets", repos = "http://dutangc.free.fr/pub/RRepos/", type="source")
library(CASdatasets)

1 个答案:

答案 0 :(得分:0)

有不同的方法可以做到这一点。此处将 rda 文件直接从库加载到新环境中。从那里,您可以导出为任何文件格式。

library(feather)

all_data <- list.files(
  file.path(.libPaths()[1], "CASdatasets", "data"), 
  pattern = "\\.rda", 
  full.names = TRUE
)

# Load all files into a fresh environment
data_env <- new.env()
lapply(all_data, load, envir = data_env)

# Export into your favourite format
for (f in names(data_env)[1:3]) {
  if (is.data.frame(f))
    write_feather(data_env[[f]], paste(f, ".feather"))
  else
    warning(f)
}