Learn R Programming

gdata (version 2.4.2)

read.xls: Read Excel files

Description

Reads a Microsoft Excel file into a data frame

Usage

read.xls(xls, sheet=1, verbose=FALSE, pattern, ..., perl="perl")
xls2csv(xls, sheet=1, verbose=FALSE, ..., perl="perl")

Arguments

xls
name of the Microsoft Excel file. If on internet it should begin with code{"http://"}.
sheet
number of sheet within the Excel file from which data are to be read
verbose
logical flag indicating whether details should be printed as the file is processed.
pattern
if specified, them skip all lines before the first containing this string
perl
name of the perl executable to be called.
...
additional arguments to read.table. The defaults of read.csv are used.

Value

  • "read.xls" returns a data frame. "xls2csv" returns a connection to a temporary file in csv format.

Details

This function works translating the named Microsoft Excel file into a temporary .csv file, using Greg Warnes' xls2csv Perl script (installed as part of the gregmisc package).

Caution: In the conversion to csv, strings will be quoted. This can be problem if you are trying to use the comment.char option of read.table since the first character of all lines (including comment lines) will be """ after conversion.

Caution: With "xls2csv" it is the responsibility of the user to close and delete the file after using it.

References

http://www.analytics.washington.edu/statcomp/downloads/xls2csv

See Also

read.csv

Examples

Run this code
# iris.xls is included in the gregmisc package for use as an example
   xlsfile <- file.path(.path.package('gdata'),'xls','iris.xls')
   xlsfile

   iris <- read.xls(xlsfile)
   head(iris)  # look at the top few rows

  # Example specifying exact Perl path for default MS-Windows install of
   # ActiveState perl
   iris <- read.xls(xlsfile, perl="C:/perl/bin/perl.exe")

   # Example specifying exact Perl path for Unix systems
   iris <- read.xls(xlsfile, perl="/usr/bin/perl")

   # read xls file from net
   nba.url <- "http://lcb1.uoregon.edu/sergiok/DSC330HSP04/week5/NBA.xls"
   nba <- read.xls(nba.url)

   # read xls file ignoring all lines prior to first containing State
   crime.url <- "http://www.jrsainfo.org/jabg/state_data2/Tribal_Data00.xls"
   crime <- read.xls(crime.url, pattern = "State")

   # use of xls2csv - open con, print two lines, close con
   con <- xls2csv(nba.url)
   print(readLines(con, 2)) 
   file.remove(summary(con)$description)

Run the code above in your browser using DataLab