R로 Excel을 읽는 새로운 방법

2594 단어 Excel
R로 엑셀을 어떻게 읽을지 고민하는 학생이 복이 생겼어요.어제 CRAN을 둘러보다가 xlsx 패키지를 발견했습니다. 이 패키지는 Excel 2007/2003 파일을 읽고 쓸 수 있으며 형식을 지원하는 설정입니다.간단하게 말하자면, Excel을 데이터 상자로 읽고, 데이터 상자를 Excel 파일로 쓰는 것은 문제가 아니라, 더욱 강력한 것은 Excel의 형식을 처리할 수 있다는 것이다. 예를 들어 칸을 통합하고, 열의 폭을 설정하고, 글꼴과 색을 설정하는 등이다.
기본적인 읽기/쓰기 작업만 필요하다면 read.xlsx()write.xlsx()는 대부분의 수요를 충족시킬 수 있을 것이다. 그 사용법도 간단하니 도움말 문서를 보면 알 수 있다.그 밖에 두 개의 상응하는 함수read.xlsx2()write.xlsx2()도 있다. 저자의 말에 따르면 이 두 함수는 서로 다른 실현 방식을 사용하여 효율이 더욱 높을 것이다.
기본적인 읽기와 쓰기 작업을 제외하고, 앞에서 말한 바와 같이, xlsx 패키지는 형식적인 설정을 할 수 있다.다음은 간단한 예로 워크북과 워크시트를 만드는 방법, 칸을 조작하는 방법 등을 설명한다.관심 있는 친구는 아래의 예를 실행하여 최종 효과를 보는 것도 괜찮다.
ind = read.table(url("http://yixuan.cos.name/cn/wp-content/uploads/2012/01/ind.txt"),
                 sep = "\t");

library(xlsx);
# Create a new workbook
wb = createWorkbook();
# Create a new sheet with a name
sheet1 = createSheet(wb, " ");
# Set the zoom ratio when you open the Excel file
setZoom(sheet1, 50, 100);
# Set the width of columns
setColumnWidth(sheet1, 1:100, 2.8);

# Create rows
rows = createRow(sheet1, 1:40);
# Create cells for each row
cells = createCell(rows, 1:73);
# Merge the first row into one cell
addMergedRegion(sheet1, 1, 1, 1, 73);
# Create the style for title cell
title_cell_style = CellStyle(wb,
    alignment = Alignment(horizontal = "ALIGN_CENTER"),
    font = Font(wb, "blue", 50, isBold = TRUE));
# Create the style for black cells
black_cell_style = CellStyle(wb,
    border = Border(),
    fill = Fill(foregroundColor= "black"));
# Get the first row
first_row = getRows(sheet1, 1);
# Get the title cell from first row
title_cell = getCells(first_row, 1)[[1]];
# Set the value of the title cell
setCellValue(title_cell, "Read/Write Excel!");
# Set the style of the title cell
setCellStyle(title_cell, title_cell_style);
# Set the style of black cells
tmp = mapply(function(x, y) setCellStyle(cells[[x, y]], black_cell_style),
       ind[, 1] + 3, ind[, 2] + 5);
# Save the workbook into a file
saveWorkbook(wb, "test.xlsx");

전체적으로 말하자면 xlsx 패키지는 내가 현재 본 기능에서 가장 완전한 Excel을 조작하는 R 패키지이다. 이것은 자바 환경과 rJava, xlsxjars 두 개의 패키지에만 의존하고 다양한 플랫폼에서 실행할 수 있다. 제한은 쓰기 작업이 Excel 2007 형식(*.xlsx)만 지원하는 것이기 때문에 기계적으로 MS Office 2003에 있는 사람들에게는 불편할 수 있다.(LibreOffice와 OpenOffice.org 모두 Excel 2007 파일을 열 수 있음)

좋은 웹페이지 즐겨찾기