2012-06-07 73 views
11

我試圖遵循這個易於2分鐘的視頻教程上導入Excel電子表格成R作爲數據幀:http://www.screenr.com/QiN8GDATA perl軟件包問題

我隨後各步驟中,包括下載和安裝的Perl草莓(32我的Win 7 PC上的位),指向R鍵我的工作目錄,和R中輸入以下命令:

Spreadsheet <- read.xls("targetspreadsheet.xls") 

我收到此錯誤:

Error in findPerl(verbose = verbose) : perl executable not found. Use perl= argument to specify the correct path. Error in file.exists(tfn) : invalid 'file' argument

更新:

重置我的機器,並設置路徑的Perl:

perl <- "C:/strawberry/perl/bin/perl.exe" 

然後我進入這個命令:

DF <- read.xls("spreadsheet.xls", perl = perl) 

命令行返回此錯誤:

Error in xls2sep(xls, sheet, verbose = verbose, ..., method = method, : Intermediate file 'C:\Users\AEID\AppData\Local\Temp\RtmpoXMywa\file18e45ed513c.csv' missing! In addition: Warning message: running command '"C:\STRAWB~1\perl\bin\perl.exe" "C:/Users/AEID/Documents/R/win-library/2.15/gdata/perl/xls2csv.pl" "GFT_show_wip_report(42).xls" "C:\Users\AEID\AppData\Local\Temp\RtmpoXMywa\file18e45ed513c.csv" "1"' had status 2 Error in file.exists(tfn) : invalid 'file' argument

我做錯了什麼?

在此先感謝您的幫助!

AME

+4

Perl必須在你的'PATH'上。在命令提示符下檢查'PATH'並重新啓動R,如果你在安裝Perl後沒有重新啓動它。 – mob

+1

@mob - 你能詳細說明我如何檢查PATH嗎? – AME

+0

您是否從安裝perl後重新啓動了機器? – Dason

回答

0

我也達到了同樣的問題,並已與「中xls2sep錯誤」打1小時。 重新安裝草莓,不起作用。

我終於發現excel文件壞了。 「xls2sep中的錯誤」似乎意味着文件已損壞。

7

使用library(gdata)加載GDATA包後上面清清楚楚地寫着:

gdata: read.xls() will be unable to read Excel XLS and XLSX files gdata: unless the 'perl=' argument is used to specify the location of a gdata: valid perl intrpreter.

所以,你需要的路徑,有效的Perl解釋器。 使用Windows,就像這裏的情況一樣,您需要檢查屬性以找到所需的perl解釋器。

#set the PATH to perl interpreter 
perl <- "C:/strawberry/perl/bin/perl5.18.2.exe" 

try1file <- read.xls("my.one.filename.xls", perl = perl) 

對於多個XLS文件:

> length(list.files()) 
[1] 65 

try65files <- lapply(list.files(), ..., perl = perl) 

如果verbose = TRUE,在每個文件的最後它會讀取:

Loading 'F65.xls'... 
Done. 
Orignal Filename: F65.xls 
Number of Sheets: 1 
Writing sheet number 1 ('Sheet1') to file 'C:\Users\FRANKL~1.JOH\AppData\Local\Temp\RtmpeKs3fi\file13dc750950e4.csv' 
Minrow=0 Maxrow=32 Mincol=0 Maxcol=16 
    (Ignored 0 blank lines.) 
0 
Done. 
Reading csv file 「C:\Users\FRANKL~1.JOH\AppData\Local\Temp\RtmpeKs3fi\file13dc750950e4.csv」 ... 
Done. 
0

我就遇到了這個問題,我終於找到了罪魁禍首。在我最初的代碼中,我使用了4張工作表的Excel文件,並在第4張工作表上運行 - read.xls(con,perl = prl,sheet = 4)。我的新的xlxs文件有一張紙,導致錯誤。

4

正如其他一些答案所說,問題是perl.exe丟失。在我的情況下,它得到它從安裝後的工作: http://www.activestate.com/activeperl/downloads 然後指向它:

read.xls("bla.xlsx", perl = "C:\\Perl64\\bin\\perl.exe") 
0

R的搜索的XLS或XLSX文件,但沒有找到它。因此,設置工作目錄在您的Excel文件的位置(例如setwd("C:\....")),並運行任何這些腳本格式:

read.xls("Potato.xls", perl = "C:\\Strawberry\\perl\\bin\\perl.exe") 
read.xls("Tomato.xls", perl = "C:\\Strawberry\\perl\\bin\\perl.exe") 
read.xls("Potato.xlsx", perl = "C:/Strawberry/perl/bin/perl.exe") 
read.xls("Tomato.xlsx", perl = "C:/Strawberry/perl/bin/perl.exe") 
0

確保您的路徑變量沒有名爲「perl」的。我將它重命名爲prl併成功!

這並不工作:

perl <- "C:/Strawberry/perl/bin/perl.exe" 
excel_gdata <- read.xls(url_xls, perl) 

Error in findPerl(verbose = verbose) : 
    perl executable not found. Use perl= argument to specify the correct path. 
Error in file.exists(tfn) : invalid 'file' argument 

這工作!

prl <- "C:/Strawberry/perl/bin/perl.exe" 
excel_gdata <- read.xls(url_xls, prl) 
0

問題走了之後,我跑到下面的腳本並重新啓動PC:

library(gdata) 
installXLSXsupport(perl = 'C:\\strawberry\\perl\\bin\\perl.exe') 
0

在我的情況,我得到了類似的消息:

Error in xls2sep(xls, sheet, verbose = verbose, ..., method = method, : 
    Intermediate file 'C:\Users\dddd\AppData\Local\Temp\Rtmp6DG4Cr\file1ce018647411.csv' missing! 
In addition: Warning message: 
running command '"C:\Perl64\bin\PERL52~1.EXE" "C:/Users/dddd/Documents/R/win-library/3.4/gdata/perl/xls2csv.pl" "D:/dddd/mlj/Results/xxxx.xlsx" "C:\Users\dddd\AppData\Local\Temp\Rtmp6DG4Cr\file1ce018647411.csv" "1"' had status 13 
Error in file.exists(tfn) : invalid 'file' argument 

我想通了解決辦法是關閉Excel表格,Excel表格不能同時由Excel和R打開。