Encuentra la palabra más repetida en un archivo de texto

Python proporciona funciones integradas para crear, escribir y leer archivos. Se pueden manejar dos tipos de archivos en python, archivos de texto normales y archivos binarios (escritos en lenguaje binario, 0 y 1).

  • Archivos de texto: en este tipo de archivo, cada línea de texto termina con un carácter especial llamado EOL (fin de línea), que es el carácter de nueva línea (‘\n’) en Python de forma predeterminada.
  • Archivos binarios: en este tipo de archivo, no hay un terminador para una línea y los datos se almacenan después de convertirlos a un lenguaje binario comprensible por máquina.

Aquí estamos operando en el archivo .txt en Python. A través de este programa encontraremos la palabra más repetida en un archivo.

Acercarse:

  • Tomaremos el contenido del archivo como entrada.
  • Guardaremos cada palabra en una lista después de eliminar los espacios y la puntuación de la string de entrada.
  • Encuentra la frecuencia de cada palabra.
  • Escribe la palabra que tiene una frecuencia máxima.

Fichero de entrada:

A continuación se muestra la implementación del enfoque anterior:

Python3

# Python program to find the most repeated word
# in a text file
 
# A file named "gfg", will be opened with the 
# reading mode.
file = open("gfg.txt","r")
frequent_word = ""
frequency = 0 
words = []
 
# Traversing file line by line
for line in file:
     
    # splits each line into
    # words and removing spaces
    # and punctuations from the input
    line_word = line.lower().replace(',','').replace('.','').split(" "); 
     
    # Adding them to list words
    for w in line_word: 
        words.append(w); 
         
# Finding the max occurred word
for i in range(0, len(words)): 
     
    # Declaring count
    count = 1; 
     
    # Count each word in the file 
    for j in range(i+1, len(words)): 
        if(words[i] == words[j]): 
            count = count + 1; 
 
    # If the count value is more
    # than highest frequency then
    if(count > frequency): 
        frequency = count; 
        frequent_word = words[i]; 
 
print("Most repeated word: " + frequent_word)
print("Frequency: " + str(frequency))
file.close();

Producción:

Most repeated word: well
Frequency: 3

Publicación traducida automáticamente

Artículo escrito por aditya_taparia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *