Gdata软件包perl问题

我正试图按照这个简单的2分钟的video教程将Excel电子表格导入R作为数据框: http : //www.screenr.com/QiN8

我遵循了每一步,包括下载和安装我的Win 7 PC上的草莓Perl(32位),将R指向我的工作目录,然后在R中input以下命令:

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

我收到这个错误:

findPerl(verbose = verbose)错误:找不到perl可执行文件。 使用perl =参数来指定正确的path。 file.exists(tfn)中的错误:无效的“文件”参数

更新:

我重置我的机器,并设置path为Perl:

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

然后我input了这个命令:

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

命令行返回了这个错误:

错误xls2sep(xls,sheet,verbose = verbose,…,method = method,:中间文件'C:\ Users \ AEID \ AppData \ Local \ Temp \ RtmpoXMywa \ file18e45ed513c.csv'缺失! :运行命令'“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“'status 2 file.exists(tfn)中的错误:无效的'file'参数

我究竟做错了什么?

在此先感谢您的帮助!

AME

使用library(gdata)加载gdata包后,它清楚地说:

gdata:read.xls()将无法读取Excel XLS和XLSX文件gdata:除非使用'perl ='参数来指定gdata:valid perl intrpreter的位置。

所以,你需要PATH到有效的perl解释器。 使用windows,就像这里的情况一样,你需要检查属性来find所需的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. 

正如其他答案已经说问题是perl.exe丢失。 在我的情况下,它从http://www.activestate.com/activeperl/downloads安装后,然后指向它&#xFF1A;

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

我也遇到了同样的问题,并一直与“xls2sep错误”争取了1个小时。 重新安装草莓,不起作用。

我终于发现excel文件坏了。 “xls2sep中的错误”似乎意味着文件已损坏。

你可以试试这个sytax:

 T<-read.xls("Template.xlsx", perl = "C:\\Perl\\bin\\perl.exe") 

我在这里find这个解决scheme

http://cran.r-project.org/web/packages/gdata/INSTALL

我自己遇到这个问题,终于find了罪魁祸首。 在我最初的代码中,我正在使用4张工作表的Excel文件,并在第四张工作表上运行 – read.xls(con,perl = prl,sheet = 4)。 我的新的xlxs文件有一张纸,导致错误。

R正在searchxls或xlsx文件,但没有find它。 因此,设置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") 

确保你的pathvariables不被命名为“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) 

运行以下脚本并重新启动PC后,问题就消失了:

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