2012-06-07 28 views
11

Tôi đang cố gắng làm theo dễ dàng video hướng dẫn 2 phút này trên nhập khẩu một bảng tính Excel vào R như một khung dữ liệu: http://www.screenr.com/QiN8Gdata gói perl vấn đề

Tôi đi theo từng bước, kể cả tải xuống và cài đặt Strawberry Perl (32 bit) trên máy tính Win 7 của tôi, chỉ R vào thư mục làm việc của tôi, và nhập vào lệnh sau trong R:

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

tôi nhận được lỗi này:

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

Cập nhật:

tôi thiết lập lại máy tính của tôi và thiết lập đường dẫn đến Perl:

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

Sau đó tôi bước vào lệnh sau:

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

Các dòng lệnh trở lại lỗi này:

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

Tôi đang làm gì sai?

Cảm ơn trước sự giúp đỡ của bạn!

AME

+4

Perl phải nằm trên 'PATH' của bạn. Kiểm tra 'PATH' trong dấu nhắc lệnh và khởi động lại R nếu bạn chưa khởi động lại nó kể từ khi bạn cài đặt Perl. – mob

+1

@mob - Bạn có thể giải thích cách tôi có thể kiểm tra PATH không? – AME

+0

Bạn đã khởi động lại máy tính của mình từ khi cài đặt perl chưa? – Dason

Trả lời

0

Tôi cũng gặp vấn đề tương tự và đã đấu tranh với "lỗi trong xls2sep" trong 1 giờ. để cài đặt lại dâu tây, không hoạt động.

Cuối cùng tôi đã phát hiện ra rằng tệp excel đã bị hỏng. "error in xls2sep" dường như có nghĩa là tệp bị hỏng.

Ning

7

Sau khi tải gói gdata sử dụng library(gdata) nó nói rõ:

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.

Vì vậy, bạn cần PATH để thông dịch perl hợp lệ. Sử dụng các cửa sổ, như trường hợp ở đây, bạn cần phải kiểm tra các thuộc tính để định vị trình thông dịch perl theo yêu cầu.

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

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

Đối với nhiều file xls:

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

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

Nếu verbose = TRUE, ở phần cuối của mỗi tập tin nó sẽ đọc:

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

Tôi tự mình gặp phải vấn đề này và cuối cùng đã tìm ra thủ phạm. Trong mã ban đầu của tôi tôi đã làm việc với một tập tin excel với 4 tờ, và đã hoạt động trên tấm thứ 4 - read.xls (con, perl = prl, sheet = 4). Tệp xlx mới của tôi có một trang tính, gây ra lỗi.

4

Như một số câu trả lời khác đã nói rằng sự cố là thiếu perl.exe. Trong trường hợp của tôi nó làm việc sau khi nhận được nó được cài đặt từ: http://www.activestate.com/activeperl/downloads rồi trỏ chuột vào nó:

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

R đang tìm kiếm các xls hay xlsx, nhưng không tìm thấy nó. Vì vậy, thiết lập thư mục làm việc nơi file Excel của bạn có vị trí (ví dụ setwd("C:\....")) và chạy bất kỳ các định dạng kịch bả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

Hãy chắc chắn rằng biến đường dẫn của bạn là không có tên là "perl". Tôi đổi tên nó thành prl và thành công!

này đã không làm việc:

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 

này hoạt động!

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

Vấn đề đi xa sau khi tôi chạy kịch bản sau đây và khởi động lại PC:

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

Trong trường hợp của tôi, tôi nhận được thông báo tương tự:

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 

tôi đã tìm ra các giải pháp bằng cách đóng bảng Excel, không thể mở bằng cả Excel và R cùng một lúc.

Các vấn đề liên quan