如何将网页端.ods格式数据集直接下载并读取到R中?
在线ODS文件导入R解决方案
报错原因
read_ods函数的path参数仅支持传入本地文件路径,不支持直接识别url()连接对象,你遇到的Error in file.exists(file) : invalid 'file' argument报错是函数本身的参数限制导致,并非代码语法错误。
实现方法
ODS是压缩打包的二进制格式,需要完整获取文件内容后才能解析,你可以通过临时文件中转的方式实现读取,无需手动保存文件到本地固定路径,R会话结束后临时文件会自动清理:
# 若未安装readODS包先执行安装:install.packages("readODS") library(readODS) # 创建后缀为ods的临时文件 temp_ods <- tempfile(fileext = ".ods") # 二进制模式下载文件避免损坏 download.file( url = "https://knowledge4policy.ec.europa.eu/sites/default/files/RNPTD.ods", destfile = temp_ods, mode = "wb" ) # 读取指定sheet数据 a <- read_ods(path = temp_ods, sheet = 1) # 可选:主动删除临时文件 unlink(temp_ods)
内容的提问来源于stack exchange,提问作者Martin Hulényi
相关产品推荐
相关产品推荐

