Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Word frequency counter #73

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions Word_frequency_counter/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Word Frequency Counter

A simple python script that counts the number of words in a given text document and prints the top 10 words according to their frequency, along with their frequency of occurence.

---

- **Input :** Path of the text file to be processed
- **Output :** List of top 10 words according to their frequency, along with their frequency of occurence.

---

## Features :

- User friendly interface
- Output is in tabular format
- Case insensitive processing of words
- Get the Top 10 words in the text file which occur most frequntly, along with their counts

---

## Usage :

1. Clone the repository
2. Navigate to the project folder
3. Run the command :

```python
python3 main.py
```
27 changes: 27 additions & 0 deletions Word_frequency_counter/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import re
from collections import Counter

def find_words_frequency(file_path):
'''
This script takes the path of the text file to be processed, as input (argument)
and prints the top ten words and also prints their counts in given text file.
'''
with open(file_path, 'r', encoding='utf-8') as file:
text = file.read().lower()

all_words = re.findall(r'\b\w+\b', text)
word_frequency = Counter(all_words)
most_common_words = word_frequency.most_common(10)

# Print in tabular format
print(f"{'Word':<15} {'Count':<5}")
print("-" * 20)
for word, count in most_common_words:
print(f"{word:<15} {count:<5}")

def main():
file_path = input("Enter the path of file : ")
find_words_frequency(file_path)

if __name__ == "__main__":
main()
1 change: 1 addition & 0 deletions Word_frequency_counter/runtime.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python-3.10.7