2014-07-15 44 views
1

这里是一个真实的世界设定:R代码里面问Excel中打开一个文件

  1. 我们下载的* .xls或从网上*的.xlsx文件。
  2. 我们通过逐个双击文件(假设安装了Excel)来打开* .xls或* .xlsx文件,以便盯着文件内容。

如果很多excel文件被定期下载,归档到不同的目录并需要逐一检查文件内容,这可能会变得单调乏味(相对来说)。

例如,我们下载一个文件,如下:

url <- "https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2FDATA.gov_NGAP.xlsx" 
file01 <- file.path(getwd(), "NGAP.xlsx") 
download.file(url, file01, mode = "wb") 

什么是R代码指示Excel打开这个文件?当然,我们可以去下载目录并双击文件来打开它。但是要指示Excel通过运行R代码来打开文件。感谢您提供的任何指针!

+0

这要取决于你的操作系统,看'system'。但是,既然你在R中,为什么不用R使用xlsx包来检查它们呢?将它们全部读入data.frames列表听起来对我来说更容易。 – JeremyS

+0

类似于'system(“打开NGAP.xlsx'C:\\ Program Files(x86)\\ Microsoft Office \\ Office12 \\ EXCEL.EXE'”)'可能工作(未测试)。 – A5C1D2H2I1M1N2O1R2T1

+0

@JeremyS:很多时候,excel文件中的数据很混乱(不干净),并且嵌入了大量的图形,宏等,更不用说在工作簿中可能有多个工作表。因此,打开文件以便查看数据以确定如何清理数据很常见。 – KFB

回答

2

base函数file.show用默认应用程序打开文件来处理给定的文件扩展名。

u <- "https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2FDATA.gov_NGAP.xlsx" 
download.file(u, f <- tempfile(fileext='.xlsx'), mode = "wb") 
file.show(f)