2013-11-15 3 views
-2

많은 .xlsx 형식의 파일을 데이터 프레임으로 읽어야합니다. 모든 엑셀 파일
날짜 GrossProfit NetProfit PnlLow
2013년 10월 15일 3000 2500 -500
2013년 10월 20일 3100 2600 -500
2013년 10월 22일 -500 -600 -1000
같은 동일한 형식을 가지고 총 6100 5100엑셀 파일의 일부를 데이터 프레임 r에 읽는 방법?

BestDay 2600
WorstDay -500

총라는 테이블의 마지막 행은 모든 열 값이 없습니다. 빈 행으로보고 구분하면 테이블 아래에 다른 부분이 있습니다.

테이블을 데이터 프레임으로 읽는 방법 (가장 "총"행 포함)? read.table (파일, nrow = 4, head = T, sep = ""); 다음 메시지를 발생 경고 : read.table에서 (헤더를 "Results2.xlsx", NROWS = 5 = T 9 월 = "")에 readTableHeader에 의해 발견 불완전한 마지막 줄 'Results2.xlsx'

+0

'read.table'은 텍스트 파일 (.csv 파일 포함) 만 읽을 수 있습니다. Excel 파일을 읽으려면 해당 패키지 중 하나를 사용해야합니다. – Roland

+0

... 즉 ** XLConnect ** 또는 ** xlsx **. 또한 ** gdata **에 perl 기반 함수가 있습니다. Googling "r 읽기 엑셀 읽기"는이 모든 정보를 얻을 것입니다. – joran

+0

http://stackoverflow.com/questions/15178218/r-linux-shell-convert-multi-sheet-xls-to-csv-in-batch Linux에서 모든 Excell 파일을 CSV – Chargaff

답변

0

이있는 경우 같은 Results1.xlsx, Results2.xlsx 일관된 이름을 가진 여러 개의 파일, 당신은 시도 할 수 있습니다 :

setwd("path/to/your/file") 
library(gdata) 
for (i in 1:2) { 
filename = paste("Results", i, ".xlsx", sep = "") 
assign(paste("res", i, sep =""), read.xls(filename, 1)) 
} 

당신이 읽고 싶은 워크 시트가 첫 번째로 가정. 그렇지 않으면 번호를 변경하거나 필요한 워크 시트의 이름을 지정하십시오.

그런 다음 데이터 프레임을 조작하여 필요한 값을 얻을 수 있습니다.

+0

으로 일괄 변환하는 경우 수행 할 작업 read.xls의 1은 의미합니까? – Everest

+0

read.xls의 설명서를 읽었습니다. read.xls는 테이블의 빈 행으로 구분 된 작은 부분을 무시하지 않는 것으로 보입니다. – Everest

+0

.csv가 R로 읽을 수있는 가장 안정적인 파일이라는 것을 알았습니다. read.csv()를 사용하는 것이 가장 좋습니다. 작업 디렉터를 설정하거나 read.csv (file.choose())를 사용하여 GUI로 디렉토리를 탐색하십시오. 참고로 테이블을 코드로 삽입하면 훨씬 쉽게 읽을 수 있습니다. –

관련 문제