David Camilo Gomez Medina
2023-Mar-31 17:11 UTC
[R-es] Extraer texto de una columna en Excel
Muchas gracias Carlos, lo que quiero hacer es lo siguiente: extraer el texto que hay entre textura/s hasta el punto final. Ejemplo: *Moderadamente profundos, bien drenados, de textura franco arenosa a franco arcillo arenosa. Fertilidad natural media* Lo que quiero extraer sería: *franco arenosa a franco arcillo arenosa * Al final lo pude realizar de la siguiente manera: df <- read_excel("Agrologia.xlsx") df$Extracted_Text <- trimws(str_extract(df$CARACTERIS, "(?<=textura?(?:[^a-zA-Z]|s)).*?(?=\\.)")) Estoy abierto a cualquier sugerencia o comentario. Muchas gracias. On Fri, 31 Mar 2023 at 12:03, Carlos Ortega <cof en qualityexcellence.es> wrote:> Hola, > > Como no sé lo que querías, veo dos alternativas... > Yo suelo usar "stringi" en vez de "stringr" > > #----------------- > library(readxl) > library(stringi) > datos <- read_excel("Agrologia.xlsx") > toextract <- unlist(stri_extract_all_fixed(datos$CARACTERIS, "textura")) > > #--- Si quiero un dataframe completo donde CARACTERIS tenga "textura" o > "texturas" > lineas_textura <- datos[ !is.na(toextract), ] > #--- Si quiero los elementos de CARACTERIS que tiene "textura" o "texturas" > campo_textura <- datos$CARACTERIS[ !is.na((toextract))] > #--------------- > > Gracias, > > Carlos Ortega > www.qualityexcellence.es > > El vie, 31 mar 2023 a las 17:20, David Camilo Gomez Medina (< > dcgomezme en unal.edu.co>) escribió: > >> Buen día, >> >> Estoy extrayendo solo una parte de texto de una celda en Excel, pero >> tengo un inconveniente. Quiero extraer el texto desde donde dice >> *textura* hasta el siguiente punto, pero hay unas celdas que dicen >> *texturas* y me está extrayendo también ésta *s*, cómo podría cambiar el >> siguiente código para que me extraiga tanto textura como texturas. Quedo >> muy atento, gracias. >> >> rm(list = ls()) >> >> library(readxl) >> library(stringr) >> library(openxlsx) >> >> setwd("~/INFO_DIEGO/R") >> >> df <- read_excel("Agrologia.xlsx") >> >> df$Extracted_Text <- str_extract(df$CARACTERIS, "(<=?textura?).*?\\.") >> >> write.xlsx(df, "modified_file.xlsx") >> >> >> >> >> *Aviso legal:* El contenido de este mensaje y los archivos adjuntos son >> confidenciales y de uso exclusivo de la Universidad Nacional de Colombia. >> Se encuentran dirigidos sólo para el uso del destinatario al cual van >> enviados. La reproducción, lectura y/o copia se encuentran prohibidas a >> cualquier persona diferente a este y puede ser ilegal. Si usted lo ha >> recibido por error, infórmenos y elimínelo de su correo. Los Datos >> Personales serán tratados conforme a la Ley 1581 de 2012 y a nuestra >> Política de Datos Personales que podrá consultar en la página web >> www.unal.edu.co. Las opiniones, informaciones, conclusiones y cualquier >> otro tipo de dato contenido en este correo electrónico, no relacionados con >> la actividad de la Universidad Nacional de Colombia, se entenderá como >> personales y de ninguna manera son avaladas por la Universidad. >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es >-- *Aviso legal:* El contenido de este mensaje y los archivos adjuntos son confidenciales y de uso exclusivo de la Universidad Nacional de Colombia. Se encuentran dirigidos sólo para el uso del destinatario al cual van enviados. La reproducción, lectura y/o copia se encuentran prohibidas a cualquier persona diferente a este y puede ser ilegal. Si usted lo ha recibido por error, infórmenos y elimínelo de su correo. Los Datos Personales serán tratados conforme a la Ley 1581 de 2012 y a nuestra Política de Datos Personales que podrá consultar en la página web www.unal.edu.co <http://www.unal.edu.co/>.* *Las opiniones, informaciones, conclusiones y cualquier otro tipo de dato contenido en este correo electrónico, no relacionados con la actividad de la Universidad Nacional de Colombia, se entenderá como personales y de ninguna manera son avaladas por la Universidad. [[alternative HTML version deleted]]
David Camilo Gomez Medina
2023-Mar-31 17:23 UTC
[R-es] Extraer texto de una columna en Excel
Muchas gracias por la alternativa de utilizar la librería stringi, Carlos, no la conocía. On Fri, 31 Mar 2023 at 12:11, David Camilo Gomez Medina < dcgomezme en unal.edu.co> wrote:> Muchas gracias Carlos, lo que quiero hacer es lo siguiente: extraer el > texto que hay entre textura/s hasta el punto final. > Ejemplo: > *Moderadamente profundos, bien drenados, de textura franco arenosa a > franco arcillo arenosa. Fertilidad natural media* > Lo que quiero extraer sería: *franco arenosa a franco arcillo arenosa * > > Al final lo pude realizar de la siguiente manera: > > df <- read_excel("Agrologia.xlsx") > > df$Extracted_Text <- trimws(str_extract(df$CARACTERIS, > "(?<=textura?(?:[^a-zA-Z]|s)).*?(?=\\.)")) > > Estoy abierto a cualquier sugerencia o comentario. > > Muchas gracias. > > On Fri, 31 Mar 2023 at 12:03, Carlos Ortega <cof en qualityexcellence.es> > wrote: > >> Hola, >> >> Como no sé lo que querías, veo dos alternativas... >> Yo suelo usar "stringi" en vez de "stringr" >> >> #----------------- >> library(readxl) >> library(stringi) >> datos <- read_excel("Agrologia.xlsx") >> toextract <- unlist(stri_extract_all_fixed(datos$CARACTERIS, "textura")) >> >> #--- Si quiero un dataframe completo donde CARACTERIS tenga "textura" o >> "texturas" >> lineas_textura <- datos[ !is.na(toextract), ] >> #--- Si quiero los elementos de CARACTERIS que tiene "textura" o >> "texturas" >> campo_textura <- datos$CARACTERIS[ !is.na((toextract))] >> #--------------- >> >> Gracias, >> >> Carlos Ortega >> www.qualityexcellence.es >> >> El vie, 31 mar 2023 a las 17:20, David Camilo Gomez Medina (< >> dcgomezme en unal.edu.co>) escribió: >> >>> Buen día, >>> >>> Estoy extrayendo solo una parte de texto de una celda en Excel, pero >>> tengo un inconveniente. Quiero extraer el texto desde donde dice >>> *textura* hasta el siguiente punto, pero hay unas celdas que dicen >>> *texturas* y me está extrayendo también ésta *s*, cómo podría cambiar >>> el siguiente código para que me extraiga tanto textura como texturas. Quedo >>> muy atento, gracias. >>> >>> rm(list = ls()) >>> >>> library(readxl) >>> library(stringr) >>> library(openxlsx) >>> >>> setwd("~/INFO_DIEGO/R") >>> >>> df <- read_excel("Agrologia.xlsx") >>> >>> df$Extracted_Text <- str_extract(df$CARACTERIS, "(<=?textura?).*?\\.") >>> >>> write.xlsx(df, "modified_file.xlsx") >>> >>> >>> >>> >>> *Aviso legal:* El contenido de este mensaje y los archivos adjuntos son >>> confidenciales y de uso exclusivo de la Universidad Nacional de Colombia. >>> Se encuentran dirigidos sólo para el uso del destinatario al cual van >>> enviados. La reproducción, lectura y/o copia se encuentran prohibidas a >>> cualquier persona diferente a este y puede ser ilegal. Si usted lo ha >>> recibido por error, infórmenos y elimínelo de su correo. Los Datos >>> Personales serán tratados conforme a la Ley 1581 de 2012 y a nuestra >>> Política de Datos Personales que podrá consultar en la página web >>> www.unal.edu.co. Las opiniones, informaciones, conclusiones y cualquier >>> otro tipo de dato contenido en este correo electrónico, no relacionados con >>> la actividad de la Universidad Nacional de Colombia, se entenderá como >>> personales y de ninguna manera son avaladas por la Universidad. >>> _______________________________________________ >>> R-help-es mailing list >>> R-help-es en r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >-- *Aviso legal:* El contenido de este mensaje y los archivos adjuntos son confidenciales y de uso exclusivo de la Universidad Nacional de Colombia. Se encuentran dirigidos sólo para el uso del destinatario al cual van enviados. La reproducción, lectura y/o copia se encuentran prohibidas a cualquier persona diferente a este y puede ser ilegal. Si usted lo ha recibido por error, infórmenos y elimínelo de su correo. Los Datos Personales serán tratados conforme a la Ley 1581 de 2012 y a nuestra Política de Datos Personales que podrá consultar en la página web www.unal.edu.co <http://www.unal.edu.co/>.* *Las opiniones, informaciones, conclusiones y cualquier otro tipo de dato contenido en este correo electrónico, no relacionados con la actividad de la Universidad Nacional de Colombia, se entenderá como personales y de ninguna manera son avaladas por la Universidad. [[alternative HTML version deleted]]