首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用readxl包从URL读取Excel文件

使用readxl包从URL读取Excel文件
EN

Stack Overflow用户
提问于 2016-12-28 19:39:18
回答 5查看 21.6K关注 0票数 25

考虑互联网上的一个文件(比如这个文件(注意https中的s) https://evs.nci.nih.gov/ftp1/CDISC/SDTM/SDTM%20Terminology.xls )。

如何将文件的第2页读入R?

下面的代码近似于所需的内容(但失败)

代码语言:javascript
运行
复制
url1<-'https://evs.nci.nih.gov/ftp1/CDISC/SDTM/SDTM%20Terminology.xls'
p1f <- tempfile()
download.file(url1, p1f, mode="wb")
p1<-read_excel(path = p1f, sheet = 2)
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-12-28 20:03:10

这对我来说适用于Windows:

代码语言:javascript
运行
复制
library(readxl)
library(httr)
packageVersion("readxl")
# [1] ‘0.1.1’

GET(url1, write_disk(tf <- tempfile(fileext = ".xls")))
df <- read_excel(tf, 2L)
str(df)
# Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 20131 obs. of  8 variables:
# $ Code                        : chr  "C115388" "C115800" "C115801" "C115802" ...
# $ Codelist Code               : chr  NA "C115388" "C115388" "C115388" ...
# $ Codelist Extensible (Yes/No): chr  "No" NA NA NA ...
# $ Codelist Name               : chr  "6 Minute Walk Functional Test Test Code" "6 Minute Walk Functional Test Test Code" "6 Minute Walk Functional Test Test Code" "6 Minute Walk Functional Test Test Code" ...
# $ CDISC Submission Value      : chr  "SIXMW1TC" "SIXMW101" "SIXMW102" "SIXMW103" ...
# $ CDISC Synonym(s)            : chr  "6 Minute Walk Functional Test Test Code" "SIXMW1-Distance at 1 Minute" "SIXMW1-Distance at 2 Minutes" "SIXMW1-Distance at 3 Minutes" ...
# $ CDISC Definition            : chr  "6 Minute Walk Test test code." "6 Minute Walk Test - Distance at 1 minute." "6 Minute Walk Test - Distance at 2 minutes." "6 Minute Walk Test - Distance at 3 minutes." ...
# $ NCI Preferred Term          : chr  "CDISC Functional Test 6MWT Test Code Terminology" "6MWT - Distance at 1 Minute" "6MWT - Distance at 2 Minutes" "6MWT - Distance at 3 Minutes" ...
票数 23
EN

Stack Overflow用户

发布于 2021-06-16 21:01:06

一个更简单的解决方案是使用openxlsx包。下面是一个可以根据您的需要进行调整的示例:

代码语言:javascript
运行
复制
library(openxlsx)
df = read.xlsx("https://archive.ics.uci.edu/ml/machine-learning-databases/00242/ENB2012_data.xlsx",sheet=1)
票数 10
EN

Stack Overflow用户

发布于 2017-10-02 13:49:54

来自关于吉突布的这个问题 (#278):

一些支持更一般输入的功能将从readr中提取,此时readxl可以利用这一点。

因此,我们应该能够在(希望不久的)将来将urls直接传递给read_excel()

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41368628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档