1

Watson Studio ノートブックから IBM Cloud Object Storage 内のファイルを操作する場合、ファイルをノートブックのローカル ファイル システムに保存して、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()ましたが、これによりファイル内のデータが破損していました。

4

1 に答える 1

1

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"))
于 2018-07-17T10:12:18.010 に答える