2014-07-15 46 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)