Skip to content

SysAdminDoc/CSV_Power_Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CSV Power Tool

Python Platform License Version

A professional-grade CSV file combiner and processor.
Merge, filter, transform, deduplicate, and export CSV data with full control.

2026-01-13 04_48_59-CSV Power Tool

Screenshot

✨ Features

πŸ“ File Management

  • Drag & drop support for adding files
  • Add individual files or entire folders
  • Support for CSV, TSV, and TXT files
  • Auto-detection of file delimiters and encodings
  • Process unlimited files at once

πŸ“Š Column Control

  • Auto-discover columns across all files
  • Three selection modes: All / Include Selected / Exclude Selected
  • Select/deselect individual columns
  • Handles files with different column structures

πŸ”€ Multi-Column Sorting

  • Sort by multiple columns with priority ordering
  • Ascending (Aβ†’Z) or Descending (Zβ†’A) per column
  • Case-sensitive or case-insensitive sorting
  • Numeric-aware sorting (sorts "2" before "10")

πŸ”„ Deduplication

  • Remove duplicate rows automatically
  • Keep first or last occurrence
  • Deduplicate based on all columns or specific columns only

πŸ” Advanced Filtering

  • Multiple filter rules with AND/OR logic
  • 11 filter operators:
    • Equals / Not Equals
    • Contains / Not Contains
    • Starts With / Ends With
    • Is Empty / Is Not Empty
    • Greater Than / Less Than
    • Regex Match

βš™οΈ Data Transformations

  • Trim whitespace from all cells
  • Case transformation: UPPER, lower, Title Case
  • Replace empty cells with custom values

πŸ’Ύ Flexible Output

  • Delimiters: Comma, Semicolon, Tab, Pipe
  • Encodings: UTF-8, UTF-16, Latin-1, CP1252
  • Quoting: Minimal, All, Non-numeric, None
  • Line endings: Auto, Unix (LF), Windows (CRLF)
  • Include or exclude header row

🎯 Additional Features

  • Save and load configuration presets (JSON)
  • Real-time processing log with color-coded messages
  • Live statistics panel
  • Cancel button for long operations
  • Modern dark theme UI

πŸš€ Installation

Prerequisites

  • Python 3.10 or higher

Quick Start

  1. Clone the repository:

    git clone https://github.com/yourusername/csv-power-tool.git
    cd csv-power-tool
  2. Run the application:

    python csv_power_tool.py

    The application will automatically install required dependencies on first run:

    • customtkinter - Modern GUI framework
    • tkinterdnd2 - Drag and drop support

Manual Dependency Installation (Optional)

pip install customtkinter tkinterdnd2

πŸ“– Usage

Basic Workflow

  1. Add Files

    • Drag & drop CSV files onto the application
    • Click "Add Files" to browse for specific files
    • Click "Add Folder" to add all CSVs from a directory
  2. Configure Processing (use the tabs)

    • Columns: Select which columns to include in output
    • Sort: Define sort order with multiple columns
    • Dedupe: Configure duplicate removal
    • Filter: Add filter rules to include/exclude rows
    • Transform: Apply text transformations
    • Output: Set delimiter, encoding, and output file path
  3. Process

    • Click "β–Ά Process Files" to start
    • Monitor progress in the log panel
    • View statistics when complete

Configuration Presets

Save your frequently used configurations:

  1. Set up your desired options across all tabs
  2. Click "πŸ’Ύ Save Config"
  3. Choose a location to save the JSON preset

Load a saved configuration:

  1. Click "πŸ“‚ Load Config"
  2. Select a previously saved JSON file
  3. All settings will be restored

πŸ”§ Configuration Reference

Filter Operators

Operator Description Example
Equals Exact match (case-insensitive) "USA" matches "usa"
Not Equals Does not match Exclude "N/A" values
Contains Substring match "john" in "John Smith"
Not Contains Substring not present Exclude emails with "spam"
Starts With Prefix match URLs starting with "https"
Ends With Suffix match Files ending with ".pdf"
Is Empty Cell is blank Find missing data
Is Not Empty Cell has value Only complete records
Greater Than Numeric comparison Sales > 1000
Less Than Numeric comparison Age < 30
Regex Match Regular expression Pattern matching

Output Encodings

Encoding Use Case
UTF-8 Universal, recommended for most uses
UTF-16 Windows Unicode applications
Latin-1 Western European legacy systems
CP1252 Windows Western European

πŸ“‹ Requirements

Package Version Purpose
Python 3.10+ Runtime
customtkinter Latest Modern GUI framework
tkinterdnd2 Latest Drag and drop support

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License

Copyright (c) 2025

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

πŸ™ Acknowledgments


Made with ❀️ for data wranglers everywhere

About

CSV Consolidator is a tool allowing the processing of CSV files in bulk in order to merge, dedupe, and clean multiple CSV files into a single clean CSV file.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages