In this article, we are going to see how to count words in Text Files using Python.
Example 1: Count String Words
First, we create a text file of which we want to count the number of words. Let this file be SampleFile.txt with the following contents:
File for demonstration:
Below is the implementation:
Python3
# creating variable to store the # number of words number_of_words = 0 Â
# Opening our text file in read only # mode using the open() function with open (r 'SampleFile.txt' , 'r' ) as file : Â
    # Reading the content of the file     # using the read() function and storing     # them in a new variable     data = file .read() Â
    # Splitting the data into separate lines     # using the split() function     lines = data.split() Â
    # Adding the length of the     # lines in our number_of_words     # variable     number_of_words + = len (lines) Â
Â
# Printing total number of words print (number_of_words) |
Output:Â
7
Explanation:Â
- Creating a new variable to store the total number of words in the text file. And then open the text file in read-only mode using the open() function.
- Read the content of the file using the read() function and storing them in a new variable. And then split the data stored in the data variable into separate lines using the split() function and then storing them in a new variable. And add the length of the lines in our number_of_words variable.
Example 2: Count the number of words, not Integer
File for demonstration:Â
Below is the implementation:Â
Python3
# creating variable to store the # number of words number_of_words = 0 Â
# Opening our text file in read only # mode using the open() function with open (r 'SampleFile.txt' , 'r' ) as file : Â
    # Reading the content of the file     # using the read() function and storing     # them in a new variable     data = file .read() Â
    # Splitting the data into separate lines     # using the split() function     lines = data.split() Â
    # Iterating over every word in     # lines     for word in lines: Â
        # checking if the word is numeric or not         if not word.isnumeric():         Â
            # Adding the length of the             # lines in our number_of_words             # variable             number_of_words + = 1 Â
# Printing total number of words print (number_of_words) |
Output:
11
Explanation: Create a new variable to store the total number of words in the text file and then open the text file in read-only mode using the open() function. Read the content of the file using the read() function and storing them in a new variable and then split the data stored in the data variable into separate lines using the split() function and then storing them in a new variable, Iterating over every word in lines using the for loop and check if the word is numeric or not using the isnumeric() function then add 1 in our number_of_words variable.