반응형
readxl 패키지를 사용하여 URL에서 Excel 파일 읽기
인터넷상의 파일(이 파일(https의 에 주의)을 검토합니다.https://evs.nci.nih.gov/ftp1/CDISC/SDTM/SDTM%20Terminology.xls
파일의 시트 2를 어떻게 R로 읽을 수 있습니까?
다음 코드는 원하는 것에 대한 근사치입니다(그러나 실패).
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)
Windows 에서는 다음과 같이 동작합니다.
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" ...
보다 간단한 솔루션은 openxlsx 패키지를 사용하는 것입니다.고객의 요구에 맞추어 조정할 수 있는 예를 다음에 나타냅니다.
library(openxlsx)
df = read.xlsx("https://archive.ics.uci.edu/ml/machine-learning-databases/00242/ENB2012_data.xlsx",sheet=1)
보다 일반적인 입력을 지원하기 위한 몇 가지 기능이 readr에서 제외되며 readxl은 이 기능을 이용할 수 있습니다.
따라서 url을 직접 전달할 수 있어야 합니다.read_excel()
가까운 장래에
사용하다rio
R 패키지링크. 여기 reprex:
library(tidyverse)
library(rio)
url <- 'https://evs.nci.nih.gov/ftp1/CDISC/SDTM/SDTM%20Terminology.xls'
rio::import(file = url,which = 2) %>%
glimpse()
#>
#> Rows: 30,995
#> Columns: 8
#> $ Code <chr> "C141663", "C141706", "C141707"...
#> $ `Codelist Code` <chr> NA, "C141663", "C141663", "C141...
#> $ `Codelist Extensible (Yes/No)` <chr> "No", NA, NA, NA, "No", NA, NA,...
#> $ `Codelist Name` <chr> "4 Stair Ascend Functional Test...
#> $ `CDISC Submission Value` <chr> "A4STR1TC", "A4STR101", "A4STR1...
#> $ `CDISC Synonym(s)` <chr> "4 Stair Ascend Functional Test...
#> $ `CDISC Definition` <chr> "4 Stair Ascend test code.", "4...
#> $ `NCI Preferred Term` <chr> "CDISC Functional Test 4 Stair ...
언급URL : https://stackoverflow.com/questions/41368628/read-excel-file-from-a-url-using-the-readxl-package
반응형
'programing' 카테고리의 다른 글
코드 뒤의 이미지 소스 변경(Wpf) (0) | 2023.04.16 |
---|---|
dlls를 wpf를 사용하여 단일 .exe로 Marge하다 (0) | 2023.04.16 |
기존 개체에 확장자를 추가하는 Swift 파일의 이름을 지정하는 모범 사례는 무엇입니까? (0) | 2023.04.16 |
명령줄 인수를 사용하여 C#에서 PowerShell 스크립트 실행 (0) | 2023.04.16 |
요소를 플렉스박스로 하부에 정렬 (0) | 2023.04.16 |