R语言从HTTPS下载数据使用curl方法得到CSV文件格式异常求助
问题核心原因
你使用的URL是GitHub的文件预览页面地址,而非原始CSV文件的直接下载地址,因此download.file实际拉取到的是HTML网页内容,并非纯CSV数据,才会出现格式异常的问题。
解决步骤
修改下载链接
将原链接中的blob字段替换为raw,即可获得原始文件的直接下载地址:https://github.com/Bitakhparsa/Capstone/raw/0850c8f65f74c58e45f6cdb2fc6d966e4c160a78/Plant_1_Generation_Data.csv调整下载代码
可以选择以下任意一种方案执行:
- 方案1:使用基础包函数下载到本地
URL <- "https://github.com/Bitakhparsa/Capstone/raw/0850c8f65f74c58e45f6cdb2fc6d966e4c160a78/Plant_1_Generation_Data.csv" download.file(URL, destfile = "./data.csv", method="auto") # 验证数据是否正常 df <- read.csv("./data.csv") head(df)
- 方案2:直接在线读取数据(无需本地下载)
使用readr包的在线读取功能更便捷:
# 未安装依赖包可先执行 install.packages("readr") library(readr) df <- read_csv("https://github.com/Bitakhparsa/Capstone/raw/0850c8f65f74c58e45f6cdb2fc6d966e4c160a78/Plant_1_Generation_Data.csv")
注意事项
- 所有从GitHub直接下载原始文件的场景,都需要将
blob路径替换为raw路径 - 如果下载时出现SSL证书报错,可在
download.file中添加参数extra = "-k"跳过证书校验(仅用于可信数据源场景)
内容的提问来源于stack exchange,提问作者bitap
相关产品推荐
相关产品推荐

