2012-06-07 7 views
11

Ich versuche, auf dem Import eine Excel-Tabelle in R als Datenrahmen diesen einfachen 2-minütigen Video-Tutorial folgen: http://www.screenr.com/QiN8Gdata Paket perl Ausgabe

ich jeden Schritt gefolgt, das Herunterladen einschließlich und Strawberry Perl Installation (32- Bit) auf meinem Win 7 PC, R meinem Arbeitsverzeichnis zeigt, und geben Sie den folgenden Befehl in R:

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

erhalte ich diesen Fehler:

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

Update:

ich meine Maschine zurückgesetzt und den Pfad zu Perl gesetzt:

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

Dann trat ich diesen Befehl ein:

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

Die Befehlszeile diesen Fehler zurückgegeben:

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

Was mache ich falsch?

Vielen Dank im Voraus für Ihre Hilfe!

AME

+4

Perl muss auf Ihrem 'PATH' stehen. Überprüfen Sie 'PATH' in einer Eingabeaufforderung und starten Sie R neu, wenn Sie es seit der Installation von Perl nicht neu gestartet haben. – mob

+1

@mob - Können Sie näher ausführen, wie ich PATH überprüfen kann? – AME

+0

Haben Sie Ihren Rechner seit der Installation von Perl neu gestartet? – Dason

Antwort

0

ich auch das gleiche Problem treffen und hatte für 1 Stunde mit „Fehlern in xls2sep“ gekämpft. Erdbeere neu zu installieren, funktioniert nicht.

Ich fand schließlich heraus, dass die Excel-Datei defekt war. "Fehler in xls2sep" scheint zu bedeuten, dass die Datei fehlerhaft ist.

Ning

7

Nach dem gdata Paket Laden library(gdata) mit deutlich sagt:

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.

So müssen Sie den Pfad zu dem gültigen Perl-Interpreter. Wenn Sie wie hier Windows verwenden, müssen Sie die Eigenschaften überprüfen, um den erforderlichen Perl-Interpreter zu finden.

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

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

Für mehrere xls-Dateien:

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

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

Wenn verbose = TRUE, am Ende jeder Datei wird es lesen:

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

Ich lief in dieser Frage mich und fand schließlich den Täter. In meinem ursprünglichen Code arbeitete ich mit einer Excel-Datei mit 4 Blättern und arbeitete auf dem 4. Blatt read.xls (con, perl = prl, Blatt = 4). Meine neue xlxs-Datei hatte ein Blatt, das den Fehler verursachte.

4

Wie einige andere Antworten sagen, ist das Problem bereits, dass perl.exe fehlt. In meinem Fall war es nach dem von ihm installiert zu werden: http://www.activestate.com/activeperl/downloads und zeigen Sie dann auf es:

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

R für die xls oder xlsx Datei sucht, aber findet es nicht. So stellen Sie das Arbeitsverzeichnis, in dem Sie Ihre Excel-Datei befindet (z setwd("C:\....")) und jeden dieser Skript-Formate laufen:

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

Stellen Sie sicher, dass Pfad-Variable nicht „perl“ genannt wird. Ich habe es in prl und Erfolg umbenannt!

Das hat nicht funktioniert:

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 

Das funktioniert!

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

Das Problem ging weg, nachdem ich das folgende Skript ausgeführt und neu gestartet den PC:

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

In meinem Fall habe ich die ähnliche Nachricht:

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 

ich das heraus Lösung durch Schließen der Excel-Tabelle, die nicht gleichzeitig von Excel und R geöffnet werden kann.