Text Analysis Using Python (Streamlit) is an interactive Natural Language Processing (NLP) project that allows users to process, analyze, and visualize textual data directly in the browser.
The main goal of this project is to turn raw text data into meaningful insights using Python libraries like pandas, NLTK, matplotlib, and wordcloud, and present results interactively via Streamlit.
This project is suitable for:
- Word frequency analysis
- Text preprocessing and cleaning
- Visualizing text data (bar charts, word clouds)
- Learning and experimenting with Python NLP and interactive dashboards
Try the app online here:
👉 Text Analysis Using Python - Streamlit App
Features of the live app:
- Upload your own CSV with textual data
- Explore word frequency charts and distributions
- Generate interactive visualizations with minimal setup
No installation required — just open the link and start analyzing text!
This project provides a workflow to analyze textual datasets in CSV format.
The script graph.py
and the Streamlit app load and process text, generate word frequency distributions, and visualize patterns through interactive charts.
Use it to:
- Understand common words and themes in text
- Perform exploratory text data analysis (EDA)
- Visualize textual patterns in an interactive manner
✅ Text preprocessing (lowercase, punctuation removal, stopwords removal)
✅ Word frequency analysis
✅ Visualizations: bar charts, word clouds
✅ Modular Python code (graph.py
)
✅ Streamlit interactive dashboard
✅ Easy-to-extend for more NLP tasks
Text-Analysis-Using-Python-Streamlit/
│
├── data.csv # Sample text dataset
├── graph.py # Script for text visualization and analysis
├── requirements.txt # Python dependencies
├── LICENSE # License information
└── README.md # Project documentation
Python packages (listed in requirements.txt
):
numpy
pandas
matplotlib
nltk
wordcloud
scikit-learn
streamlit
🐍 Python 3.8+ recommended
- Clone the repository
git clone https://github.com/LaxmidharPenta/Text-Analysis-Using-Python-Streamlit.git
cd Text-Analysis-Using-Python-Streamlit
- Create a virtual environment (recommended)
python -m venv venv
venv\Scripts\activate # Windows
# or
source venv/bin/activate # Linux/Mac
- Install dependencies
pip install -r requirements.txt
- Optional: Download NLTK resources
import nltk
nltk.download('punkt')
nltk.download('stopwords')
python graph.py
streamlit run graph.py
Features:
- Load text data (
data.csv
or your own CSV) - Generate word frequency distributions
- Create interactive visualizations
- Bar charts of top frequent words
- Word clouds of the most used terms
- Distribution plots of text length
(You can include screenshots here if desired.)
- File:
data.csv
- Description: Contains sample text entries (one text per row).
- Users can replace it with their own dataset for custom analysis.
- Sentiment analysis (TextBlob, VADER)
- Named Entity Recognition (NER) with spaCy
- Topic modeling using LDA
- Interactive dashboards and filters in Streamlit
- Fork the repository
- Create a branch:
git checkout -b feature/YourFeature
- Make changes and commit:
git commit -m "Add feature XYZ"
- Push your branch:
git push origin feature/YourFeature
- Open a Pull Request
Follow Python style conventions and include docstrings.
MIT License — see LICENSE file for details.
👤 Author: Laxmidhar Penta
🔗 GitHub: LaxmidharPenta
📧 Email: (laxmidharpenta@gmail.com)
💡 If you find this project useful, please ⭐ star the repository and share feedback!