如何将二进制文件从云对象存储保存到笔记本文件系统?
how can I save a binary file from cloud object storage to the notebook filesystem?
在 Watson Studio notebook 中处理 IBM Cloud Object Storage 中的文件时,我经常需要将文件保存到 notebook 本地文件系统,然后我可以从 R 函数访问它们。
Project-lib 允许我从云对象存储中检索文件作为字节数组,我如何将字节数组保存到文件?
library(projectLib)
project <- projectLib::Project$new(projectId="secret, projectToken="secret")
pc <- project$project_context
my.file <- project$get_file("myfile.csv.gz")
#
# Question: how do I save the file to disk ??
#
df = read.csv2("myfile.csv.gz", sep = "|",
colClasses=c("ASSETUNIT_GLOBALID"="character"))
我尝试使用 save()
,但这会破坏文件中的数据。
R 函数 writeBin
是我的解决方案:
library(projectLib)
project <- projectLib::Project$new(projectId="secret, projectToken="secret")
pc <- project$project_context
my.file <- project$get_file("myfile.csv.gz")
#
# writeBin was the solution :
#
writeBin(my.file, 'myfile.csv.gz', size = NA_integer_,
endian = .Platform$endian, useBytes = TRUE)
df = read.csv2("myfile.csv.gz", sep = "|",
colClasses=c("ASSETUNIT_GLOBALID"="character"))
在 Watson Studio notebook 中处理 IBM Cloud Object Storage 中的文件时,我经常需要将文件保存到 notebook 本地文件系统,然后我可以从 R 函数访问它们。
Project-lib 允许我从云对象存储中检索文件作为字节数组,我如何将字节数组保存到文件?
library(projectLib)
project <- projectLib::Project$new(projectId="secret, projectToken="secret")
pc <- project$project_context
my.file <- project$get_file("myfile.csv.gz")
#
# Question: how do I save the file to disk ??
#
df = read.csv2("myfile.csv.gz", sep = "|",
colClasses=c("ASSETUNIT_GLOBALID"="character"))
我尝试使用 save()
,但这会破坏文件中的数据。
R 函数 writeBin
是我的解决方案:
library(projectLib)
project <- projectLib::Project$new(projectId="secret, projectToken="secret")
pc <- project$project_context
my.file <- project$get_file("myfile.csv.gz")
#
# writeBin was the solution :
#
writeBin(my.file, 'myfile.csv.gz', size = NA_integer_,
endian = .Platform$endian, useBytes = TRUE)
df = read.csv2("myfile.csv.gz", sep = "|",
colClasses=c("ASSETUNIT_GLOBALID"="character"))