r - 直接从环境中解压 R 对象

标签 r binary unzip

我有一个 R 对象(类:'raw')加载到环境中。它是二进制格式。我知道这个(压缩的)R 对象包含一个文件(例如 pdf 或 txt 文件)。

我们称这个对象为:'zipped_r_object'。

我的电脑上没有保存原始文件。该对象是从数据库连接中获取的。

这就是为什么我想直接从 R 环境中解压缩二进制/原始“zipped_r_object”并将解压缩的内容保存在一个新对象 (“unzipped_object”) 中。这样,我可以进一步处理文件。

我如何在 R 中执行此操作?我知道如何从保存在计算机上的已保存 zip 存档中解压缩。但我似乎不能只在 R 环境中这样做。

非常感谢!

最佳答案

一种方法是将对象writeBin 输出到文件中。

writeBin(zipped_r_object, "temp.zip")

您也可以将其写入临时文件,然后使用 unziplist = TRUE 来查看存档中包含的文件的名称。

temp <- tempfile()
writeBin(zipped_r_object, temp)
unzip(temp, list = TRUE)

然后你可以将它解压到一个临时目录:

temp2 <- tempdir()
unzip(temp, temp2)
list.files(temp2)

关于r - 直接从环境中解压 R 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62024361/

相关文章:

r - 如何使用基本 R 绑定(bind)列表中的每个第 n 个元素?

c - 浮点模运算

C++ 通过位移位和减法除法无法正常工作

java - 解压缩带子目录和不带子目录的多部分文件

java - 如何使用 apache ant 解压多卷 zip 文件?

r - dplyr 打印到控制台的偏移量

r - 如何在 R 的 data.frame 中找到下一个事件?

从 csv 文件列表中检索指定列以在 R 中创建数据数据框

node.js - 使用 Node.js 检查文件是二进制文件还是 ASCII 文件?