Skip to content
Prev 10979 / 15379 Next

[R-es] Leer csv separado por comas y por espacios

Hola,

El parámetro "sep" de "read.csv()" ha de ser único. No puedes utilizar
varias opciones, aunque es cierto que en la documentación no lo advierte.
Por lo que tienes que utilizar otra estrategia para leer el fichero.

Te sugeriría varias cosas:

   - Probar con la función "fread()" del paquete "data.table" que es algo
   más inteligente que read.csv. Aunque no tengo claro que realmente te vaya a
   funcionar... pero por probar...
   - Una segunda opción es un poco más trabajosa que es el leer el fichero
   con "readLines", de esta forma te generará un data.frame con una fila por
   línea del fichero. Luego tendrás que construir una lógica para que si la
   línea tiene "," como separador separes las variables y si el separador es
   un "tab" que haga lo propio.
   - Otra opción más limpia y sencilla es pre-procesar el fichero en el SO
   con funciones del tipo "sed", "awk" y dejarlo con el formato, separadores
   que más te interese.
   - Y si el fichero tiene bloques con "," y otros bloques con "tab" como
   separador, puedes utilizar "read.table" y decir que vaya saltando el número
   de filas, que no tienen el separador que has definido...


Saludos,
Carlos Ortega
www.qualityexcellence.es

El 9 de enero de 2017, 9:42, Jesús Para Fernández <
j.para.fernandez en hotmail.com> escribió:

  
    
Message-ID: <CAOKbq8iKLR9byZ3Mvj2vTKq2WkP4UcO9g4oumLse21Z0MYDJ7Q@mail.gmail.com>
In-Reply-To: <AM5PR0802MB25776AA9FF4ED0CEA47AAEBBCC640@AM5PR0802MB2577.eurprd08.prod.outlook.com>