Open In App

Count the number of times a letter appears in a text file in Python

Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will be learning different approaches to count the number of times a letter appears in a text file in Python. Below is the content of the text file gfg.txt that we are going to use in the below programs:

Now we will discuss various approaches to get the frequency of a letter in a text file.

Method 1: Using the in-built count() method.

Approach:

  • Read the file.
  • Store the content of the file in a variable.
  • Use the count() method with the argument as a letter whose frequency is required.
  • Display the count of the letter.

Implementation:

Python3




# Program to get letter count in a text file
 
# explicit function to return the letter count
def letterFrequency(fileName, letter):
    # open file in read mode
    file = open(fileName, 'r')
 
    # store content of the file in a variable
    text = file.read()
 
    # using count()
    return text.count(letter)
 
 
# call the function and display the letter count
print(letterFrequency('gfg.txt', 'g'))


Output:

Method 2: Iterate through the file content in order to compare each character with the given letter.

Approach:

  • Read the file.
  • Store the content of the file in a variable.
  • Assign a counter count variable with 0.
  • Iterate through each character, if the character is found to be the given letter then increment the counter.
  • Display the count of the letter.

Implementation:

Python3




# Program to get letter count in a text file
 
# explicit function to return the letter count
def letterFrequency(fileName, letter):
    # open file in read mode
    file = open(fileName, "r")
 
    # store content of the file in a variable
    text = file.read()
 
    # declare count variable
    count = 0
 
    # iterate through each character
    for char in text:
 
        # compare each character with
        # the given letter
        if char == letter:
            count += 1
 
    # return letter count
    return count
 
 
# call function and display the letter count
print(letterFrequency('gfg.txt', 'g'))


Output:

Method 3: Using the lambda function

In this approach, we are using a lambda function to count the number of occurrences of a given letter in a text file. We use the open function to open the file in read mode and read the contents of the file using the read function. Then we use the count function to count the number of occurrences of the given letter in the text. Finally, we return the count value from the lambda function.

Python3




letterFrequency = lambda fileName, letter: open(fileName, 'r').read().count(letter)
 
# call function and display the letter count
print(letterFrequency('gfg.txt', 'g'))


Output: 

 



Last Updated : 04 May, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads