비밀번호로 보호된 엑셀 파일을 r로 읽으려면 어떻게 해야 하나요?
비밀번호로 보호된 엑셀 파일을 r로 읽으려면 어떻게 해야 하나요?
Excel.link를 시도했지만 R 버전 3.2.3(내 버전)에서는 사용할 수 없습니다.
RDCOMClient도 시도했지만 R 버전 3.2.3에서는 사용할 수 없습니다.
그냥 사용했어요xl.read.file에서excel.link패키지.
https://rdrr.io/cran/excel.link/man/xl.read.file.html
그것은 매우 직설적이었다.
이전 답변과 동일한 테스트 파일 사용(https://github.com/miraisolutions/xlconnect/files/794219/TestWorkbook.xlsx)).
install.packages("excel.link")
library("excel.link")
dat <- xl.read.file("TestWorkbook.xlsx", password = "pass", write.res.password="pass")
dat
(필요한 파일은 테스트 파일과는 달리 패스워드가 1개뿐이었기 때문에 마지막 인수는 필요 없었습니다.
XLConnect(0.2-13)는 패스워드로 보호된 Excel 파일을 읽을 수 있게 되었습니다.
최신 버전의 XLConnect 및 XLConnectJars(0.2-13)를 설치합니다.
install.packages("XLConnect")
무제한 강도 Java(TM) 암호화 확장 정책 파일 설치(OS X 및 Windows에서는 필요 - OpenJDK 1.8을 사용하는 Ubuntu Linux에서는 필요 없음)
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
OS X에 Java 8용 무제한 강도 JCE를 설치하는 방법
library(XLConnect)
wb <- loadWorkbook("TestWorkbook.xlsx", password="pass")
test <- readWorksheet(wb, "sheet1")
> data
id value1 value2
1 1 1 5
2 2 2 4
3 3 3 3
4 4 4 2
5 5 5 1
이전 답변을 통합하려면:저도 같은 일을 하려고 했는데excel.link패키지는 현재 최신 R 버전에 문제가 있어 R이 크래쉬합니다. XLConnect동작할 수도 있지만, 그렇지 않으면 불필요한 추가 설치가 필요하기 때문에 복잡합니다.
나는 그것을 발견했다.xlsx::read.xlsx()가 있다password제 경우엔 잘 먹혔죠나에게 이것은 가장 현실적인 해결책이었다.
Chris Andrew의 답변을 바탕으로 코드에 비밀번호를 입력하지 않도록 하기 위해askForPassword기능.그러면 코드를 실행할 때 암호를 입력하라는 팝업 창이 나타납니다.
install.packages("excel.link")
install.packages("rstudioapi")
library("excel.link")
pw_message <- "Input password for excel sheet."
dat <- xl.read.file("TestWorkbook.xlsx", password = rstudioapi::askForPassword(pw_message))
dat
이것은 오래된 스레드라는 것을 알고 있습니다만, 도움이 될 수 있도록 여기에 추가해 두도록 하겠습니다.
Shiny 어플리케이션에서 Excel 파일을 읽어보니xlsx::read.xlsx()훨씬 느리다excel.link::xl.read.file()제 목적을 위해서요
단, Excel.link를 사용하여 앱을 닫으면 관련 Excel 프로세스가 닫히지 않는 반면 xlsx는 닫힙니다.
excel.link를 사용하여 다음을 포함시킬 필요가 있었습니다.system("TASKKILL /F /IM EXCEL.exe")파일을 읽은 후 Excel을 강제로 종료합니다.
언급URL : https://stackoverflow.com/questions/35852722/how-do-you-read-a-password-protected-excel-file-into-r
'programing' 카테고리의 다른 글
| 형식 인수로 사용할 때 NSInterger 변수를 길게 캐스트해야 하는 이유는 무엇입니까? (0) | 2023.04.20 |
|---|---|
| Excel VBA에서 워크북 이름이 아닌 워크시트 이름을 포함한 범위의 주소를 얻으려면 어떻게 해야 합니까? (0) | 2023.04.20 |
| 인터랙티브 에디터 없이 Bash를 사용하여 cron 작업을 자동으로 작성하는 방법은 무엇입니까? (0) | 2023.04.20 |
| Excel VBA를 사용하여 문자열을 효율적으로 인코딩하려면 어떻게 해야 합니까? (0) | 2023.04.20 |
| git 추적에서 폴더 제거 (0) | 2023.04.10 |