[R-es] leer ficheros excel en R en Ubuntu

Fernando Macedo fermace en gmail.com
Vie Ago 15 12:04:48 CEST 2014


Yo tuve bastantes problemas con java y Excel, aunque los mayores, si mal no
recuerdo, eran con xlsx. Intenté de todo y no tuve mucha suerte.  Así que
me arme una función usando system y xlsx2csv.
Básicamente lo que hago es pasar un path y numero de hoja como argumentos,
y la función ser copia elxlsx a un directorio temporal lo convierte en txt
usando el xlsx2csv y lo levanta con read.table.
Entiendo que no es lo que buscas pues no usa herramientas exclusivas de R,
pero fue la solución que encontré.
Xlsx2csv es un programita escrito en python si no me equivoco,  de repente
se puede portar como paquete para R.
Saludos y aunque no te lo solucione espero que pueda servir de ayuda.

Fernando

El 15/08/2014 05:26, "Miguel Fiandor Gutiérrez" <
miguel.fiandor.gutierrez en gmail.com> escribió:
>
> Hola,
>
> @javier, me gustaría no tener que hacer nada de forma manual, ni por fuera
> de r, rstudio. Es decir, el típico comando de linux que me convierta de
xls
> a csv prefiero no usarlo. Me gustaría hacerlo todo desde R.
>
> @jorge ->
>
> Con RODBC me salta ->
>
> Error: could not find function "odbcConnectExcel"
>
> Lo que creo que es inevitable en Ubuntu
> <
http://stackoverflow.com/questions/3426523/odbcconnectexcel-function-from-rodbc-package-for-r-not-found-on-ubuntu
>
> Con gdata ->
>
> Unable to open file
>
'/home/miguelfg/R/x86_64-pc-linux-gnu-library/3.1/gdata/xls/madrid.xls'.Error
> in xls2sep(xls, sheet, verbose = verbose, ..., method = method,  :
>   Intermediate file '/tmp/RtmpHRuknw/filefed757fcc67.csv' missing!In
> addition: Warning message:running command ''/usr/bin/perl'
>
> Con XLConnect ->
>
> Error : package ‘rJava’ was built before R 3.0.0: please re-install
> itERROR: lazy loading failed for package ‘XLConnectJars’* removing
> ‘/home/miguelfg/R/x86_64-pc-linux-gnu-library/3.1/XLConnectJars’Warning
> in install.packages :
>   installation of package ‘XLConnectJars’ had non-zero exit
> statusERROR: dependency ‘XLConnectJars’ is not available for package
> ‘XLConnect’* removing
> ‘/home/miguelfg/R/x86_64-pc-linux-gnu-library/3.1/XLConnect’Warning in
> install.packages :
>   installation of package ‘XLConnect’ had non-zero exit status
>
> Con xlsReadWrite -> me dice que no está disponible para R 3.1.1 Con xlsx
->
>
> Error : package ‘rJava’ was built before R 3.0.0: please re-install
> itERROR: lazy loading failed for package ‘xlsxjars’* removing
> ‘/home/miguelfg/R/x86_64-pc-linux-gnu-library/3.1/xlsxjars’Warning in
> install.packages :
>   installation of package ‘xlsxjars’ had non-zero exit statusERROR:
> dependency ‘xlsxjars’ is not available for package ‘xlsx’* removing
> ‘/home/miguelfg/R/x86_64-pc-linux-gnu-library/3.1/xlsx’Warning in
> install.packages :
>   installation of package ‘xlsx’ had non-zero exit status
>
> ================================= Viendo que el problema parecía java +
> rJava, busqué y ejecuté -> sudo R CMD javareconf -e Pero parece que no
> termina bien -> conftest.c:1:17: fatal error: jni.h: No such file or
> directory compilation terminated. make: *** [conftest.o] Error 1 Unable to
> compile a JNI program
>
>
> El 15 de agosto de 2014, 2:23, Jorge I Velez <jorgeivanvelez en gmail.com>
> escribió:
>
> > Hola Miguel,
> >
> > A que te refieres con "y nada"?  Obtienes algun error?  Algun mensaje?
> >  Has probado con scan() y/o readLines()?
> >
> > Saludos,
> > Jorge.-
> >
> >
> >
> > 2014-08-15 7:38 GMT+10:00 Miguel Fiandor Gutiérrez <
> > miguel.fiandor.gutierrez en gmail.com>:
> >
> >> Hola,
> >>
> >> Pensé que esto iba a ser trivial en R, pero me estoy encontrado muchos
con
> >> mi problema en internet, y que las soluciones ofrecidas no terminan de
> >> funcionar.
> >>
> >> Estoy intentando leer un fichero .xls en ubuntu con los siguientes
> >> paquetes
> >> y nada:
> >>
> >> require(RODBC)
> >> conn = odbcConnectExcel("madrid.xls") # open a connection to the Excel
> >> file
> >> sqlTables(conn)$TABLE_NAME # show all sheets
> >> df = sqlFetch(conn, "Sheet1") # read a sheet
> >> df = sqlQuery(conn, "select * from [Sheet1 $]") # read a sheet
> >> (alternative
> >> SQL sintax)
> >> close(conn) # close the connection to the file
> >>
> >> require(gdata)
> >> xlsfile <- file.path(path.package('gdata'),'xls','madrid.xls')
> >> df = read.xls (xlsfile)
> >> df = read.xls (xlsfile, sheet = 1, header = TRUE)
> >> df = read.xls ("madrid.xls", sheet = 1, header = TRUE)
> >> df = read.xls ("madrid.xls")
> >>
> >> require(xlsx)
> >> read.xlsx("madrid.xls", sheetName = "Sheet1")
> >>
> >> library(XLConnect)
> >> wk = loadWorkbook("madrid.xls")
> >> df = readWorksheet(wk, sheet="Sheet1")
> >>
> >> --
> >>
> >> también he probado directamente read.table ya que el fichero es tipo
xml
> >> por dentro:
> >> df = read.table("madrid.xls", header = TRUE)
> >>
> >>
> >> -- ejemplo del fichero:
> >> $ head -c 500 madrid.xls
> >> <table border="1"><tr><th bgcolor="#FFB18C">Nombre de la
> >> instalacion</th><th bgcolor="#FFB18C">Municipio de la
instalacion</th><th
> >> bgcolor="#FFB18C">Provincia de la instalacion</th><th
> >> bgcolor="#FFB18C">Clave del registro</th><th bgcolor="#FFB18C">Codigo
> >> registro autonomico definitivo</th><th bgcolor="#FFB18C">Potencia
nominal
> >> de la fase (kW)</th><th bgcolor="#FFB18C">Grupo Normativo</th><th
> >> bgcolor="#FFB18C">Tipo de Inscripcion</th></tr><tr><td>PERGOLA
> >> FOTOVOLTAICA
> >> JARDINES COMPLEJO DE MONCLOA
> >> ...
> >>
> >>
> >> Gracias de antemano.
> >>
> >> Por cierto, aprovecho que lanzo la pregunta es para una aplicación
Shiny,
> >> alguna recomendación de como leer esta info solo una vez al arrancar el
> >> servidor?
> >>
> >>
> >> Miguel
> >>
> >>         [[alternative HTML version deleted]]
> >>
> >> _______________________________________________
> >> R-help-es mailing list
> >> R-help-es en r-project.org
> >> https://stat.ethz.ch/mailman/listinfo/r-help-es
> >>
> >
> >
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es