19

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

我遵循了每个步骤,包括在我的 Win 7 PC 上下载和安装 Strawberry Perl(32 位),将 R 指向我的工作目录,并在 R 中输入以下命令:

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

我收到此错误:

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

更新:

我重置了我的机器并将路径设置为 Perl:

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

然后我输入了这个命令:

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

命令行返回此错误:

xls2sep 中的错误(xls,工作表,详细 = 详细,...,方法 = 方法,:中间文件 '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"' 在 file.exists(tfn) 中有状态 2 错误:'file' 参数无效

我究竟做错了什么?

在此先感谢您的帮助!

AME

4

10 回答 10

9

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

gdata:read.xls() 将无法读取 Excel XLS 和 XLSX 文件 gdata:除非 'perl=' 参数用于指定 gdata:有效 perl 解释器的位置。

因此,您需要有效的 perl 解释器的 PATH。使用 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.
于 2014-08-27T17:18:22.523 回答
7

正如其他一些答案所说的那样,问题是 perl.exe 丢失了。就我而言,它在从以下位置安装后起作用: http://www.activestate.com/activeperl/downloads 然后指向它:

    read.xls("bla.xlsx", perl = "C:\\Perl64\\bin\\perl.exe")
于 2015-02-09T10:07:27.450 回答
1

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

library(gdata)
installXLSXsupport(perl = 'C:\\strawberry\\perl\\bin\\perl.exe')
于 2016-01-27T04:21:04.260 回答
1

我最近gdata在 Windows 10 下使用软件包和 Strawberry Perl 软件遇到了同样的问题。我的解决方案如下:(1)卸载旧版本的草莓 Perl——如果你尝试在旧版本上安装新版本,它说它不可升级,(2)安装从这个链接下载的新版本C:/Strawberry/,(3)添加C:/Strawberry/perl/bin/perl.exe到环境变量窗口的用户变量中的“路径”。

于 2018-03-30T10:53:26.273 回答
0

我自己遇到了这个问题,终于找到了罪魁祸首。在我的初始代码中,我正在处理一个有 4 张纸的 excel 文件,并且在第 4 张纸上运行 - read.xls(con, perl=prl, sheet=4)。我的新 xlxs 文件有一张,导致错误。

于 2015-01-29T15:26:19.110 回答
0

我也遇到了同样的问题,并且一直在与“xls2sep 中的错误”作斗争 1 小时。重新安装草莓,不行。

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

于 2014-08-26T12:04:10.490 回答
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")
于 2015-03-02T21:56:11.107 回答
0

你可以试试这个语法:

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

我在这里找到了这个解决方案

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

于 2014-12-10T06:39:55.100 回答
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)
于 2016-01-08T21:39:39.903 回答
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 和 R 无法同时打开该表。

于 2018-02-03T18:58:36.327 回答