gpt4 book ai didi

从 ftp 服务器读取 xlsx(使用 RCurl)

转载 作者:行者123 更新时间:2023-12-02 21:24:27 30 4
gpt4 key购买 nike

“RCurl”包中的 GetURL 函数是读取 ftp、https 等内容的绝佳工具。我已经多次使用该包来读取 .csv 和 .txt,但是当涉及到 .xlsx 时,它遇到了一些问题。我在这个论坛上发现,xlsx 是一种二进制格式,因此它不能被视为像 .csv 和 .txt 这样的普通文本字符串。

FTP 服务器通常具有密码和用户名等安全性,因此“download.file”等功能在读取“.xlsx”文件时会导致一些问题。然后我尝试了 getBinaryURL,但输出格式是“原始”,我无法从这种格式获取 data.frame - 既不能从函数 rawToChar() 也不能从 rawRoBin() 获取。

if(!require(RCurl)) install.packages("RCurl");library(RCurl)

url <- "ftp://..."
userpwd <- "user:pwd"

out <- getBinaryURL(url, userpwd = userpwd,
ftp.use.epsv = FALSE,crlf = TRUE)

关于如何将 .xlsx 从 ftp 服务器读入 R 作为数据帧,有什么建议吗?

最佳答案

使用连接创建一个临时文件,将数据写入其中,然后使用 read_xlsx 读取该文件。

Mytmpfile = tempfile()
getBinaryURL(url, userpwd = userpwd, ftp.use.epsv = FALSE,crlf =TRUE)%>%writeBin(con=Mytmpfile)
Df = read_xlsx(Mytmpfile, sheet='x')

关于从 ftp 服务器读取 xlsx(使用 RCurl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44486255/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com