2012-06-07 21 views
11

Estoy intentando seguir este sencillo tutorial de vídeo de 2 minutos en la importación de una hoja de cálculo de Excel en R como una trama de datos: http://www.screenr.com/QiN8Gdata tema paquete perl

he seguido cada paso, incluyendo la descarga e instalación de fresa Perl (32- bit) en mi PC Win 7, señalando R a mi directorio de trabajo, y entrando el siguiente mandato en I:

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

recibo este error:

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

Actualización:

puedo restablecer mi máquina y establecer la ruta a Perl:

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

Luego entré en este orden:

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

La línea de comandos devuelve este error:

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

¿Qué estoy haciendo mal?

Gracias de antemano por su ayuda!

AME

+4

Perl debe estar en su 'PATH'. Marque 'PATH' en el símbolo del sistema y reinicie R si no lo ha reiniciado desde que instaló Perl. – mob

+1

@mob - ¿Puedes dar más detalles sobre cómo puedo verificar PATH? – AME

+0

¿Ha reiniciado su máquina desde la instalación de Perl? – Dason

Respuesta

0

también me encuentro con el mismo tema y había estado luchando con "error en xls2sep" durante 1 hora. para volver a instalar la fresa, no funciona.

Finalmente descubrí que el archivo de Excel estaba roto. "error en xls2sep" parece indicar que el archivo está roto.

Ning

7

Después de cargar el paquete gdata usando library(gdata) que dice claramente:

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.

lo tanto, necesita la ruta al intérprete Perl válida. Usando Windows, como es el caso aquí, necesita verificar las propiedades para localizar el intérprete de Perl requerido.

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

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

Para varios archivos xls:

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

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

Si verbose = TRUE, al final de cada archivo se leerá:

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

me encontré con este problema a mí mismo y finalmente encontró al culpable. En mi código inicial, estaba trabajando con un archivo de Excel con 4 hojas y estaba operando en la 4ta hoja: read.xls (con, perl = prl, sheet = 4). Mi nuevo archivo xlxs tenía una hoja, causando el error.

4

Como algunas otras respuestas dicen que ya el problema es que perl.exe falta. En mi caso funcionó después de ser instalado a partir de: http://www.activestate.com/activeperl/downloads y luego apunte a ella:

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

R es la búsqueda de la xls o xlsx, pero no está resultando. A fin de establecer el directorio de trabajo donde se encuentra el archivo de Excel (por ejemplo setwd("C:\....")) y ejecutar cualquiera de estos formatos de guión:

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

Asegúrese de que su variable de ruta no se nombra "Perl". ¡Lo renombré a prl y éxito!

esto no funcionó:

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 

Esto funciona!

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

El problema desapareció después de que me encontré con la siguiente secuencia de comandos y reinicia el PC:

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

En mi caso, me dieron el mensaje similar:

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 

me di cuenta de la solución al cerrar la tabla de Excel, que no se puede abrir con Excel y R al mismo tiempo.

Cuestiones relacionadas