elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ¿Algoritmo para obtener todas las palabras de un fichero en python?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Algoritmo para obtener todas las palabras de un fichero en python?  (Leído 2,969 veces)
pran_krr

Desconectado Desconectado

Mensajes: 2


Ver Perfil
¿Algoritmo para obtener todas las palabras de un fichero en python?
« en: 11 Noviembre 2019, 10:38 am »

Lo que intento es leer un fichero y hacer una lista con todas las palabras del fichero de la forma más eficiente posible y quería saber si existe algún tipo de algoritmo que lo realice de la forma más eficiente posible. He probado con .split() pero no valdría ya que el fichero contiene caracteres los cuales no reconocería (p.e "," "-" "(" ...). Se hacerlo con el método de ir reconociendo cada caracter y cuando el que reconozca no sea una letra unir todos los caracteres y formar palabra y seguir haciendo esto en todo el fichero pero no se si hay alguna otra forma de hacerlo.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ¿Algoritmo para obtener todas las palabras de un fichero en python?
« Respuesta #1 en: 11 Noviembre 2019, 14:33 pm »

la forma mas facil que se me ocurre es con regex,

un ejemplo

Código
  1. import re
  2. text = "Lo que intento es leer un fichero y hacer una lista con todas las palabras del fichero de la forma más eficiente posible y quería saber si existe algún tipo de algoritmo que lo realice de la forma más eficiente posible. He probado con .split() pero no valdría ya que el fichero contiene caracteres los cuales no reconocería (p.e "," "-" "(" ...). Se hacerlo con el método de ir reconociendo cada caracter y cuando el que reconozca no sea una letra unir todos los caracteres y formar palabra y seguir haciendo esto en todo el fichero pero no se si hay alguna otra forma de hacerlo."
  3.  
  4. parts = re.findall(r"[a-záéíóúÁÉÍÓÚ]+",text,re.I)
  5.  
  6. # parts es un list que contiene lo siguiente
  7. # ['Lo', 'que', 'intento', 'es', 'leer', 'un', 'fichero', 'y', 'hacer', 'una', 'lista', 'con', 'todas', 'las',
  8. # 'palabras', 'del', 'fichero', 'de', 'la', 'forma', 'más', 'eficiente', 'posible', 'y', 'quería', 'saber',
  9. # 'si', 'existe', 'algún', 'tipo', 'de', 'algoritmo', 'que', 'lo', 'realice', 'de', 'la', 'forma', 'más',
  10. # 'eficiente', 'posible', 'He', 'probado', 'con', 'split', 'pero', 'no', 'valdría', 'ya', 'que', 'el',
  11. # 'fichero', 'contiene', 'caracteres', 'los', 'cuales', 'no', 'reconocería', 'p', 'e', 'Se', 'hacerlo',
  12. # 'con', 'el', 'método', 'de', 'ir', 'reconociendo', 'cada', 'caracter', 'y', 'cuando', 'el', 'que',
  13. # 'reconozca', 'no', 'sea', 'una', 'letra', 'unir', 'todos', 'los', 'caracteres', 'y', 'formar', 'palabra',
  14. # 'y', 'seguir', 'haciendo', 'esto', 'en', 'todo', 'el', 'fichero', 'pero', 'no', 'se', 'si', 'hay', 'alguna',
  15. # 'otra', 'forma', 'de', 'hacerlo']
  16.  

como regex nativamente no digiere las letras con acento las tuve que agregar (mayusculas y minusculas ya que no conoce ese concepto en esas letras), asi que cualquier otra (como ñ letras con dieresis, etc) deben ser agregadas a necesidad


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] Algoritmo cuasi-acabado de listado de archivos en un fichero
Python
Shrick 3 5,085 Último mensaje 14 Mayo 2009, 13:51 pm
por Shrick
Ayuda para obtener todas las imagenes de un sitio
Dudas Generales
l337* 0 2,560 Último mensaje 4 Julio 2012, 04:06 am
por l337*
Obtener el porcentaje de oraciones con 1 palabra, 2 palabras, 3 palabras, etc.
Scripting
Wil630 5 4,483 Último mensaje 2 Noviembre 2015, 22:58 pm
por Wil630
Algoritmo para Obtener el día de la semana[C]
Programación C/C++
NOB2014 1 6,067 Último mensaje 26 Mayo 2017, 02:01 am
por Serapis
Python ayuda hilos para hacer ping a todas las ips
Scripting
MetaNoia 0 3,697 Último mensaje 24 Noviembre 2019, 22:08 pm
por MetaNoia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines