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安装后,然后指向它:
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
我自己遇到这个问题,终于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')