如何将特定文件位置作为 R 中 writeBin() 方法的参数?

How to give specific file location as an argument to writeBin() method in R?

writeBin()下载的文件保存在当前位置。但我想将其保存在当前位置或其他位置的子目录中的另一个位置。 writeBin(downlaod$response$content, "Inventory.csv") 这是一行代码。假设我想将 inventory.csv 保存在位置 "current_directory/download_folder"

或者在这里,我尝试使用以下脚本下载 CSV 文件:

url <- "https://lgloz050.lss.emc.com:58443/APG/"
dn_url <- "https://lgloz050.lss.emc.com:58443/APG/lookup/Report%20Library/Amazon%20S3/Inventory/Accounts/report.csv"

session <-  html_session(url) 
form <- html_form(session)[[1]]
 fl_fm <- set_values(form,
                     j_username = "***",
                     j_password = "***")
 main_page <- submit_form(session, fl_fm) 
 downlaod <- jump_to(main_page,cfig$dn_url)
 writeBin(downlaod$response$content, "Inventory.csv" )

我可以使用 writeBin() 如果不能的话,有没有 writeBin() 的替代方法或其他下载方式来自 https 站点 的 CSV 文件需要登录?

提前感谢您的建议!!!

您可以使用?writeBinhelp(writeBin)访问函数的帮助文件。在这里你看到你正在寻找的参数是 con:

writeBin(object, con, size = NA_integer_, endian = .Platform$endian, useBytes = FALSE)

con A connection object or a character string naming a file or a raw vector.

现在您可以为 con 参数提供任何位置,就像您已经做的一样:

writeBin(object = downlaod$response$content, 
         con = "./download_folder/Inventory.csv" )

您唯一需要记住的是 R 在这里需要绝对路径,这意味着您的路径将如下所示:

/home/user/current_directory/download_folder/Inventory.csv

在 Linux 机器上或像这样:

C:/user/Documents/current_directory/download_folder/Inventory.csv

在 Windows。

您还可以通过将 current_directory/ 替换为 ./:

来使用相对于当前工作目录的路径(我假设您在上面这样做了)
./download_folder/Inventory.csv

甚至从您的目录向上移动一个文件夹:

../current_directory/download_folder/Inventory.csv

或两个:

../../current_directory/download_folder/Inventory.csv