Automating Excel Data Comparison with Streamlit and Python

Working with Excel data across multiple sheets and comparing rows against reference blocks is tedious β especially when done manually.
I built a lightweight web tool using Streamlit that automates this for analysts inside our company.
π What the Tool Does
Accepts two uploaded Excel files:
A base file (rows to compare)
A source file (multiple sheets of reference blocks)
For each row in the base file:
Fuzzy matches the correct sheet from the source file
Finds the "weight group" position
Extracts a 12x8 block of data
Inserts it into the base file
Applies Excel formulas and formatting to highlight differences
Outputs a downloadable Excel file instantly
π§ Why I Built This
This was designed to eliminate repetitive manual work:
Cross-checking 100+ rows manually against 6β10 sheets
Copying specific blocks
Writing formulas per row
Formatting results for stakeholder visibility
Now itβs a few clicks and one download.
π Tech Stack
Tool | Purpose |
Python | Backend logic |
Streamlit | Web UI |
openpyxl | Excel manipulation |
fuzzywuzzy | Sheet name matching |
BytesIO | In-memory file handling |
βοΈ Architecture Overview
User Uploads Excel Files
β
Base file read row by row
β
Match each rowβs sheet using fuzzywuzzy
β
Find weight group in matched sheet
β
Extract 12x8 block + paste into base sheet
β
Apply formulas + styling
β
Generate and download updated file
π Expected Input Format
Column | Purpose |
B | Shape |
F | Weight Group |
M | Sheet Name |
N β W | Output block insert |
π GitHub Repo
π streamlit-excel-comparator
π§© Real Use Case
This tool is now actively used by analysts at our company to:
Compare price matrices
Evaluate diamond inventory vs vendor pricing
Reduce error-prone manual work
Result: faster decisions and cleaner Excel files.
π§βπ» About Me
Data Analyst
Currently working @ Sheetal Manufacturing Co.
MSc Data Science 2026
Subscribe to my newsletter
Read articles from satya bolloju directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
