Python | Cuente las ocurrencias de cada palabra en el archivo de texto dado (usando el diccionario)

Muchas veces se requiere contar la aparición de cada palabra en un archivo de texto. Para lograrlo, hacemos uso de un objeto de diccionario que almacena la palabra como la clave y su cuenta como el valor correspondiente. Iteramos a través de cada palabra en el archivo y la agregamos al diccionario con un conteo de 1. Si la palabra ya está presente en el diccionario, incrementamos su conteo en 1. 

Ejemplo #1: Primero creamos un archivo de texto en el que queremos contar las palabras. Deje que este archivo sea sample.txt con los siguientes contenidos:

Mango banana apple pear
Banana grapes strawberry
Apple pear mango banana
Kiwi apple mango strawberry

Nota: asegúrese de que el archivo de texto esté en el mismo directorio que el archivo de Python. 

Python3

# Open the file in read mode
text = open( & quot
            sample.txt", & quot
            r"
            )
 
# Create an empty dictionary
d = dict()
 
# Loop through each line of the file
for line in text:
    # Remove the leading spaces and newline character
    line = line.strip()
 
    # Convert the characters in line to
    # lowercase to avoid case mismatch
    line = line.lower()
 
    # Split the line into words
    words = line.split( & quot
                       & quot
                       )
 
    # Iterate over each word in line
    for word in words:
        # Check if the word is already in dictionary
        if word in d:
            # Increment count of word by 1
            d[word] = d[word] + 1
        else:
            # Add the word to dictionary with count 1
            d[word] = 1
 
# Print the contents of dictionary
for key in list(d.keys()):
    print(key, & quot: & quot, d[key])

Producción:

mango : 3
banana : 3
apple : 3
pear : 2
grapes : 1
strawberry : 2
kiwi : 1

  Ejemplo #2: Considere un archivo sample.txt que tiene oraciones con puntuación.

Mango! banana apple pear.
Banana, grapes strawberry.
Apple- pear mango banana.
Kiwi "apple" mango strawberry.

Python3

import string
 
# Open the file in read mode
text = open(& quot
             sample.txt", & quot
             r"
             )
 
# Create an empty dictionary
d = dict()
 
# Loop through each line of the file
for line in text:
    # Remove the leading spaces and newline character
    line = line.strip()
 
    # Convert the characters in line to
    # lowercase to avoid case mismatch
    line = line.lower()
 
    # Remove the punctuation marks from the line
    line = line.translate(line.maketrans(& quot
                                          & quot
                                          , & quot
                                          & quot, string.punctuation))
 
    # Split the line into words
    words = line.split(& quot
                        & quot
                        )
 
    # Iterate over each word in line
    for word in words:
        # Check if the word is already in dictionary
        if word in d:
            # Increment count of word by 1
            d[word] = d[word] + 1
        else:
            # Add the word to dictionary with count 1
            d[word] = 1
 
# Print the contents of dictionary
for key in list(d.keys()):
    print(key, & quot: & quot, d[key])

Producción:

mango : 3
banana : 3
apple : 3
pear : 2
grapes : 1
strawberry : 2
kiwi : 1

Publicación traducida automáticamente

Artículo escrito por BhavyadeepPurswani 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 *