누군가가 Excel 2007 (.xlsx) 파일을 R로 가져 오는 가장 좋은 방법을 도와 줄 수 있습니다. 몇 가지 방법을 시도했지만 작동하지 않는 것 같습니다. 2.13.1, Windows XP, xlsx 0.3.0으로 업그레이드했는데 오류가 계속 발생하는 이유를 모르겠습니다. 나는 시도했다 :
AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx","DNA_Tag_Numbers")
또는
AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx",1)
하지만 오류가 발생합니다.
Error in .jnew("java/io/FileInputStream", file) :
java.io.FileNotFoundException: C:\AB_DNA_Tag_Numbers.xlsx (The system cannot find the file specified)
감사합니다.
답변
이상한 외부 종속성 *이없는 솔루션의 경우 다음이 있습니다 readxl
.
readxl 패키지를 사용하면 Excel에서 R로 데이터를 쉽게 가져올 수 있습니다. 많은 기존 패키지 (예 : gdata, xlsx, xlsReadWrite)에 비해 readxl에는 외부 종속성이 없으므로 모든 운영 체제에서 쉽게 설치하고 사용할 수 있습니다. 단일 시트에 저장된 테이블 형식 데이터로 작동하도록 설계되었습니다.
Readxl은 레거시 .xls 형식과 최신 xml 기반 .xlsx 형식을 모두 지원합니다. .xls 지원은 with libxls C 라이브러리를 가능하게하여 기본 바이너리 형식의 많은 복잡성을 추상화합니다. .xlsx를 구문 분석하기 위해 RapidXML C ++ 라이브러리를 사용합니다.
다음과 같이 설치할 수 있습니다.
install.packages("readxl") # CRAN version
또는
devtools::install_github("hadley/readxl") # development version
용법
library(readxl)
# read_excel reads both xls and xlsx files
read_excel("my-old-spreadsheet.xls")
read_excel("my-new-spreadsheet.xlsx")
# Specify sheet with a number or name
read_excel("my-spreadsheet.xls", sheet = "data")
read_excel("my-spreadsheet.xls", sheet = 2)
# If NAs are represented by something other than blank cells,
# set the na argument
read_excel("my-spreadsheet.xls", na = "NA")
* 엄격히 사실이 아닙니다. Rtools (Windows 용) 또는 Xcode (OSX 용)가 필요한 Rcpp
패키지 가 필요합니다 . 이는 R 외부의 종속성입니다. 그러나 경로 등을 조작 할 필요가 없습니다. Java 및 Perl 종속성보다 유리합니다.
업데이트 이제 rexcel 패키지가 있습니다. 이를 통해 Excel 파일에서 R로 Excel 서식, 기능 및 기타 여러 종류의 정보를 얻을 수 있습니다.
답변
XLConnect 패키지를 사용해 볼 수도 있습니다. xlsx보다 운이 좋았습니다 (.xls 파일도 읽을 수 있음).
library(XLConnect)
theData <- readWorksheet(loadWorkbook("C:/AB_DNA_Tag_Numbers.xlsx"),sheet=1)
또한 파일을 찾을 수없는 경우 파일을 선택하십시오. file.choose ().
답변
나는 확실히 패키지 의 read.xls
기능을 시도 할 것인데 gdata
, 이는 xlsx
패키지 보다 훨씬 더 성숙 합니다. Perl이 필요할 수 있습니다 …
답변
최신 정보
아래 답변은 이제 다소 구식이므로 readxl 패키지에 주의를 기울일 것 입니다. Excel 시트의 형식이 잘 지정되어 있거나 정리 되어 있으면 이제 readxl 을 사용 하여 통합 문서에서 읽습니다. 시트의 형식이 잘못 지정 read.csv()
되거나 배치 된 경우 여전히 CSV로 내 보낸 다음 R에서 문제를 처리합니다 readLines()
.
실물
내가 선호하는 방법은 개별 Excel 시트를 쉼표로 구분 된 값 (CSV) 파일로 저장하는 것입니다. Windows에서 이러한 파일은 Excel과 연결되어 있으므로 두 번 클릭하여 Excel에서 열기 “기능”을 잃지 않습니다.
CSV 파일은를 사용하여 R로 읽을 수 있으며 read.csv()
, 특정 위치에 있거나 일부 유럽 설정 ( ,
소수점으로 사용되는 곳)으로 설정된 컴퓨터를 사용하는 경우 read.csv2()
.
이러한 함수에는 적절한 형식의 파일을 간단하게 읽을 수있는 합리적인 기본값이 있습니다. 첫 번째 행 또는 열에 샘플 또는 변수에 대한 레이블을 유지하십시오.
CSV로 파일을 저장하는 추가 이점은 파일이 일반 텍스트이므로 매우 쉽게 전달할 수 있고 어디서나 열 수 있다는 확신을 가질 수 있다는 것입니다. 데이터를 보거나 편집하기 위해 Excel이 필요하지 않습니다.
답변
예 2012 :
library("xlsx")
FirstTable <- read.xlsx("MyExcelFile.xlsx", 1 , stringsAsFactors=F)
SecondTable <- read.xlsx("MyExcelFile.xlsx", 2 , stringsAsFactors=F)
- 다루기 쉽고 충분히 성숙해 보이기 때문에 ‘xlsx’패키지를 사용해 보겠습니다.
- 나를 위해 잘 작동했으며 Perl 또는 기타와 같은 추가 기능이 필요하지 않았습니다.
예 2015 :
library("readxl")
FirstTable <- read_excel("MyExcelFile.xlsx", 1)
SecondTable <- read_excel("MyExcelFile.xlsx", 2)
- 요즘 나는 그것을 사용
readxl
하고 좋은 경험을했습니다. - 추가 물건이 필요하지 않습니다
- 좋은 성능
답변
이 새 패키지는 멋지게 보입니다. http://cran.r-project.org/web/packages/openxlsx/openxlsx.pdf
rJava가 필요하지 않으며 속도를 위해 ‘Rcpp’를 사용합니다.
답변
동일한 문제가 발생하고 R에서 오류가 발생하면 “.jnew”함수를 찾을 수 없습니다. 라이브러리 rJava를 설치하십시오. 또는 이미 가지고 있다면 라인 라이브러리 (rJava)를 실행하십시오. 그게 문제 야.
또한 csv 및 txt 파일은 작업하기가 더 쉽지만 삶은 쉽지 않으며 때로는 xlsx를 열어야한다는 점을 모두에게 분명히해야합니다.