programing

Gdata package perl 문제

padding 2023. 7. 7. 18:41
반응형

Gdata package perl 문제

Excel 스프레드시트를 R로 데이터 프레임으로 가져오는 간단한 2분 비디오 튜토리얼을 따르려고 합니다. 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)의 오류: 잘못된 'file' 인수

업데이트:

시스템을 재설정하고 경로를 Perl로 설정했습니다.

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

그런 다음 다음 명령을 입력했습니다.

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

명령줄에서 다음 오류를 반환했습니다.

xls2 파일(xls, sheet, verbose = verbose, ..., 메서드 = method, : 중간 파일 'C:\사용자\AEID\AppData\로컬\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(42xl)" "C:\사용자\AEID\AppData\로컬\Temp\RtmpoXMywa\file18e45ed513c.csv" "1"에 file.exists(tfn): 잘못된 'file' 인수가 있습니다.

내가 뭘 잘못하고 있는 거지?

도움을 주셔서 미리 감사드립니다!

AME

다음을 사용하여 gdata 패키지를 로드한 후library(gdata)그것은 분명히 다음과 같이 말합니다.

gdata: read.xlsg는 'gdata=' 인수를 사용하여 agdata: valid perl intrpreter의 위치를 지정하지 않으면 Excel XLS 및 XLSX 파일 gdata:를 읽을 수 없습니다.

따라서 유효한 perl 인터프리터의 PATH가 필요합니다.여기에서와 같이 창을 사용하여 속성을 확인하여 필요한 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.

일부 다른 답변에서 이미 언급했듯이 문제는 perl.exe가 누락되었다는 것입니다.저의 경우 http://www.activestate.com/activeperl/downloads 에서 설치한 후 작동했습니다.

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

다음 스크립트를 실행하고 PC를 다시 시작한 후 문제가 해결되었습니다.

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

저는 최근에 같은 문제를 겪었습니다.gdata패키지 및 Strawberry Perl 소프트웨어를 사용할 수 있습니다.제 경우 해결책은 다음과 같습니다. (1) 이전 버전의 Strawberry Perl을 제거합니다. 이전 버전에 새 버전을 설치하려고 하면 업그레이드할 수 없다고 표시됩니다. (2) 이 링크에서 다운로드한 새 버전을 설치합니다.C:/Strawberry/ (3) 가추C:/Strawberry/perl/bin/perl.exe[환경 변수] 창의 [사용자 변수]에서 [경로]로 이동합니다.

저도 같은 문제에 부딪혔고 1시간 동안 "xls2sep의 오류"와 싸웠습니다. 딸기를 다시 설치하는 것은 작동하지 않습니다.

저는 마침내 엑셀 파일이 깨졌다는 것을 알게 되었습니다."error in xls2"는 파일이 손상되었음을 의미하는 것 같습니다.

다음 구문을 사용할 수 있습니다.

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

여기서 이 솔루션을 찾았습니다.

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

제가 직접 이 문제에 부딪혀 마침내 범인을 찾았습니다.제 초기 코드에서 저는 4장의 엑셀 파일로 작업하고 있었고, 4번째 시트인 read.xls(con, perl=prl, sheet=4)에서 작동하고 있었습니다.나의 새로운 xlxs 파일은 한 장의 시트가 있어서 오류가 발생했습니다.

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")

경로 변수의 이름이 "perl"이 아닌지 확인합니다.저는 그것을 성공적으로 만들기 위해 이름을 지었습니다!

이것은 작동하지 않았습니다.

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)

제 경우에도 비슷한 메시지를 받았습니다.

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

엑셀과 R이 동시에 열 수 없는 엑셀 테이블을 닫아서 해결책을 알아냈습니다.

언급URL : https://stackoverflow.com/questions/10940224/gdata-package-perl-issue

반응형