2012-06-07 3 views
11

Я пытаюсь следовать этому простому 2-минутному видео-учебнику по импорту электронной таблицы Excel в R в качестве фрейма данных: http://www.screenr.com/QiN8Gdata выпуск пакета Perl

Я последовал за каждый шаг, включая загрузку и установку Strawberry 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», по-видимому, означает, что файл сломан.

Ning

7

После загрузки пакета GData с помощью library(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.

#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

Я столкнулся с этой проблемой сам и, наконец, нашел виновника. В моем первоначальном коде я работал с файлом excel с 4 листами и работал на 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

Проблема ушла после того, как я побежал следующий сценарий и перезагрузки компьютера:

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 и R.

Смежные вопросы