A Streamlit web app for filtering and cleaning CSV files with both automatic filtering and manual row exclusion.
- Upload CSV files with automatic encoding/quoting handling
- Filter by column with three modes:
- Equals: Exact match
- Contains: Substring search
- Regex: Regular expression pattern matching
- Manual row exclusion: Tick checkboxes to exclude specific rows from the filtered results
- Download cleaned CSV: Export your cleaned data
- Live metrics: See row counts after filtering and exclusions
No installation needed! Just run:
./run.shOr manually:
uv run --with streamlit --with pandas streamlit run app.pypip install -r requirements.txt
streamlit run app.py-
Run the app:
./run.sh
-
Open your browser (should open automatically) to
http://localhost:8501 -
Upload a CSV file
-
Use the Filter controls:
- Select a column to filter on
- Choose a filter mode (equals/contains/regex)
- Enter your search value or pattern
-
In the data table, tick the "Exclude?" checkbox for any rows you want to remove
-
Click "⬇️ Download cleaned CSV" to download your cleaned data
- For very large CSVs (>1-2M rows), consider using specialized tools like Modern CSV or VisiData for better performance
- The app caches loaded CSVs, so re-running filters is fast
- Regex mode supports full Python regex syntax
- The app handles malformed CSVs with fallback parsing
- Remove duplicate or invalid entries from data exports
- Filter contact lists by domain or keyword
- Clean up transaction logs by date patterns
- Manually review and exclude outliers or test data