csvise


Namecsvise JSON
Version 1.2.2 PyPI version JSON
download
home_pagehttps://github.com/rawsabsaid/csvise-cli-tool
SummaryCLI Tools for Tabular Data - CSV analysis, validation, and beautiful display
upload_time2025-08-19 20:12:38
maintainerNone
docs_urlNone
authorRawsab Said
requires_python>=3.7
licenseNone
keywords csv cli data-analysis validation table rich formatting
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # CSVise CLI Tools

<div align="center">

**Beautiful CLI tools for CSV analysis, validation, and data cleaning with Rich-powered output**

[![PyPI version](https://badge.fury.io/py/csvise.svg)](https://badge.fury.io/py/csvise)
[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

[Installation](#-installation) • [Quick Start](#-quick-start) • [Features](#-features) • [Documentation](#-documentation)

<div align="center">
<img width="700" alt="Screenshot" src="https://github.com/user-attachments/assets/8343b73f-2887-48bc-b475-4abe2fa20c11" />
</div>

</div>

---

## 📋 Table of Contents

- [CSVise CLI Tools](#csvise-cli-tools)
  - [📋 Table of Contents](#-table-of-contents)
  - [🚀 Installation](#-installation)
    - [From PyPI (Recommended)](#from-pypi-recommended)
    - [From Source](#from-source)
  - [⚡ Quick Start](#-quick-start)
    - [Display CSV Data](#display-csv-data)
    - [Analyze Data](#analyze-data)
    - [Clean Data](#clean-data)
  - [✨ Features](#-features)
    - [Display \& Validation](#display--validation)
    - [Data Analysis \& Statistics](#data-analysis--statistics)
    - [Data Cleaning Operations](#data-cleaning-operations)
    - [🎨 Rich UI Integration](#-rich-ui-integration)
  - [📖 Documentation](#-documentation)
    - [Command Reference](#command-reference)
      - [Global Options](#global-options)
      - [Custom Delimiter Example](#custom-delimiter-example)
    - [Configuration](#configuration)
    - [Examples](#examples)
      - [Rich UI Examples](#rich-ui-examples)
      - [Classic Mode Examples](#classic-mode-examples)
      - [Data Analysis Examples](#data-analysis-examples)
      - [Data Cleaning Examples](#data-cleaning-examples)
    - [Example Output](#example-output)
  - [🔧 Development](#-development)
    - [Setup Development Environment](#setup-development-environment)
    - [Run Tests](#run-tests)
    - [Code Quality](#code-quality)
    - [Build Package](#build-package)
  - [📄 License](#-license)

---

## 🚀 Installation

### From PyPI (Recommended)

```bash
pip install csvise
```

### From Source

```bash
git clone https://github.com/rawsabsaid/csvise-cli-tool.git
cd csvise-cli-tool
pip install -e .
```

---

## ⚡ Quick Start

### Display CSV Data
```bash
# Beautiful table display with Rich formatting
csvise display data.csv

# Classic plain text output
csvise display data.csv --classic
```

### Analyze Data
```bash
# Comprehensive analysis
csvise analyze data.csv

# Detect outliers and correlations
csvise analyze data.csv --outliers --correlations
```

### Clean Data
```bash
# Remove duplicates and normalize whitespace
csvise clean data.csv --remove-duplicates --normalize-whitespace --output cleaned.csv
```

---

## ✨ Features

### Display & Validation

Beautiful CSV display with automatic delimiter detection and data validation:

```bash
csvise display FILENAME [OPTIONS]
```

**Options:**
- `--display` : Display formatted table output
- `--debug` : Enable debug output for troubleshooting
- `-v` : Verbose mode with detailed operation logs
- `-dl, --delimiter DELIMITER` : Set custom delimiter
- `-stf, --save_to_file OUTPUT` : Save output to file
- `--rich` : Use Rich formatting (default)
- `--classic` : Use classic plain text formatting

### Data Analysis & Statistics

Comprehensive data analysis with statistical insights:

```bash
csvise analyze FILENAME [OPTIONS]
```

**Options:**
- `--columns, -c` : Analyze specific columns (comma-separated)
- `--correlations` : Show correlation matrix for numeric columns
- `--outliers` : Detect outliers in numeric columns
- `--distribution` : Show value distribution for categorical columns
- `-v` : Verbose mode
- `--classic` : Use classic plain text formatting

### Data Cleaning Operations

Powerful data cleaning and transformation capabilities:

```bash
csvise clean FILENAME [OPTIONS]
```

**Options:**
- `--remove-duplicates` : Remove duplicate rows
- `--normalize-whitespace` : Normalize whitespace in all columns
- `--standardize-case` : Standardize text case (upper, lower, title, sentence)
- `--fill-missing` : Fill missing values (empty, mode, mean, median, custom)
- `--fill-value` : Custom value for missing data
- `--remove-empty-rows` : Remove rows with high empty cell percentage
- `--output, -o` : Output file for cleaned data
- `-v` : Verbose mode
- `--classic` : Use classic plain text formatting

### 🎨 Rich UI Integration

CSVise features beautiful Rich-powered CLI output:

- **Color-coded Tables**: Data types are color-coded (integers in green, floats in yellow, booleans in magenta)
- **Information Panels**: File statistics and validation issues in styled panels
- **Progress Indicators**: Visual feedback during data processing
- **Enhanced Messages**: Beautiful error and success message formatting
- **Type Highlighting**: Automatic highlighting of data type mismatches

**Modes:**
- **Rich Mode** (`--rich`): Enhanced visual experience with colors and panels **[default]**
- **Classic Mode** (`--classic`): Traditional plain text output for compatibility

---

## 📖 Documentation

### Command Reference

#### Global Options
- `--help` : Show help and documentation
- `--version` : Display current version

#### Custom Delimiter Example
```bash
csvise display data.csv --delimiter ";"
```

### Configuration

Customize default behavior with `csvtoolsConfig.json`:

```json
{
    "additional_delimiters": ["|", ";", "###"],
    "start_index": 1,
    "num_rows_to_print": null,
    "display_column_lines": true,
    "display_row_lines": false,
    "check_type_mismatches": true,
    "string_case": "default"
}
```

### Examples

#### Rich UI Examples
```bash
# Beautiful table with validation
csvise display data.csv --debug

# Analysis with correlations
csvise analyze data.csv --correlations

# Clean data with progress feedback
csvise clean data.csv --remove-duplicates --normalize-whitespace
```

#### Classic Mode Examples
```bash
# Plain text output for scripts
csvise display data.csv --classic --debug

# Classic analysis output
csvise analyze data.csv --classic --outliers
```

#### Data Analysis Examples
```bash
# Comprehensive analysis
csvise analyze data.csv --correlations

# Analyze specific columns
csvise analyze data.csv --columns "Age,Salary,Department"

# Detect outliers
csvise analyze data.csv --outliers

# Show distributions
csvise analyze data.csv --distribution
```

#### Data Cleaning Examples
```bash
# Basic cleaning
csvise clean data.csv --remove-duplicates --normalize-whitespace

# Advanced cleaning pipeline
csvise clean data.csv \
    --remove-duplicates \
    --normalize-whitespace \
    --standardize-case title \
    --fill-missing mode \
    --output cleaned_data.csv

# Remove empty rows
csvise clean data.csv --remove-empty-rows 0.5 --output cleaned.csv
```

### Example Output

```plaintext
[VERBOSE] Detecting delimiter from sample row: Name,Age,Occupation
[VERBOSE] Delimiter detected: ,
[VERBOSE] Detected columns: ['Name', 'Age', 'Occupation']

  | Name      | Age       | Occupation  
--------------+-----------+-------------
1 | Alice     | 30        | Engineer   
2 | Bob       | 25        | Designer   
3 | Charlie   | Manager   |             
4 | Diana     | 28        | 7          
5 | Edward    | 40.5      | Developer  
6 | Frank     | 20        | Student    
7 | George    | 45        | Retired    

ROWS WITH INCORRECT LENGTH:
Row 3 is of length 2, expected 3

ROWS WITH POTENTIAL TYPE MISMATCHES:
Row 3, Column 2: Found str, expected int
Row 4, Column 3: Found int, expected str

Total number of rows with incorrect length: 1
Total number of type mismatches: 2
```

---

## 🔧 Development

### Setup Development Environment

```bash
git clone https://github.com/rawsabsaid/csvise-cli-tool.git
cd csvise-cli-tool
pip install -e ".[dev]"
```

### Run Tests

```bash
pytest tests/
```

### Code Quality

```bash
# Format code
black csvtools/

# Check linting
flake8 csvtools/

# Type checking
mypy csvtools/
```

### Build Package

```bash
python -m build
twine check dist/*
```

---

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---

<div align="center">

**Made with ❤️ by [Rawsab Said](https://github.com/rawsabsaid)**

[GitHub](https://github.com/rawsabsaid/csvise-cli-tool) • [PyPI](https://pypi.org/project/csvise/) • [Issues](https://github.com/rawsabsaid/csvise-cli-tool/issues)

</div>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/rawsabsaid/csvise-cli-tool",
    "name": "csvise",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "Rawsab Said <rawsab04@gmail.com>",
    "keywords": "csv, cli, data-analysis, validation, table, rich, formatting",
    "author": "Rawsab Said",
    "author_email": "Rawsab Said <rawsab04@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/9b/6f/00bcea375bfdb85f27a9f438c35f7747504d2b41fbc6de81d0708d676190/csvise-1.2.2.tar.gz",
    "platform": null,
    "description": "# CSVise CLI Tools\n\n<div align=\"center\">\n\n**Beautiful CLI tools for CSV analysis, validation, and data cleaning with Rich-powered output**\n\n[![PyPI version](https://badge.fury.io/py/csvise.svg)](https://badge.fury.io/py/csvise)\n[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[Installation](#-installation) \u2022 [Quick Start](#-quick-start) \u2022 [Features](#-features) \u2022 [Documentation](#-documentation)\n\n<div align=\"center\">\n<img width=\"700\" alt=\"Screenshot\" src=\"https://github.com/user-attachments/assets/8343b73f-2887-48bc-b475-4abe2fa20c11\" />\n</div>\n\n</div>\n\n---\n\n## \ud83d\udccb Table of Contents\n\n- [CSVise CLI Tools](#csvise-cli-tools)\n  - [\ud83d\udccb Table of Contents](#-table-of-contents)\n  - [\ud83d\ude80 Installation](#-installation)\n    - [From PyPI (Recommended)](#from-pypi-recommended)\n    - [From Source](#from-source)\n  - [\u26a1 Quick Start](#-quick-start)\n    - [Display CSV Data](#display-csv-data)\n    - [Analyze Data](#analyze-data)\n    - [Clean Data](#clean-data)\n  - [\u2728 Features](#-features)\n    - [Display \\& Validation](#display--validation)\n    - [Data Analysis \\& Statistics](#data-analysis--statistics)\n    - [Data Cleaning Operations](#data-cleaning-operations)\n    - [\ud83c\udfa8 Rich UI Integration](#-rich-ui-integration)\n  - [\ud83d\udcd6 Documentation](#-documentation)\n    - [Command Reference](#command-reference)\n      - [Global Options](#global-options)\n      - [Custom Delimiter Example](#custom-delimiter-example)\n    - [Configuration](#configuration)\n    - [Examples](#examples)\n      - [Rich UI Examples](#rich-ui-examples)\n      - [Classic Mode Examples](#classic-mode-examples)\n      - [Data Analysis Examples](#data-analysis-examples)\n      - [Data Cleaning Examples](#data-cleaning-examples)\n    - [Example Output](#example-output)\n  - [\ud83d\udd27 Development](#-development)\n    - [Setup Development Environment](#setup-development-environment)\n    - [Run Tests](#run-tests)\n    - [Code Quality](#code-quality)\n    - [Build Package](#build-package)\n  - [\ud83d\udcc4 License](#-license)\n\n---\n\n## \ud83d\ude80 Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install csvise\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/rawsabsaid/csvise-cli-tool.git\ncd csvise-cli-tool\npip install -e .\n```\n\n---\n\n## \u26a1 Quick Start\n\n### Display CSV Data\n```bash\n# Beautiful table display with Rich formatting\ncsvise display data.csv\n\n# Classic plain text output\ncsvise display data.csv --classic\n```\n\n### Analyze Data\n```bash\n# Comprehensive analysis\ncsvise analyze data.csv\n\n# Detect outliers and correlations\ncsvise analyze data.csv --outliers --correlations\n```\n\n### Clean Data\n```bash\n# Remove duplicates and normalize whitespace\ncsvise clean data.csv --remove-duplicates --normalize-whitespace --output cleaned.csv\n```\n\n---\n\n## \u2728 Features\n\n### Display & Validation\n\nBeautiful CSV display with automatic delimiter detection and data validation:\n\n```bash\ncsvise display FILENAME [OPTIONS]\n```\n\n**Options:**\n- `--display` : Display formatted table output\n- `--debug` : Enable debug output for troubleshooting\n- `-v` : Verbose mode with detailed operation logs\n- `-dl, --delimiter DELIMITER` : Set custom delimiter\n- `-stf, --save_to_file OUTPUT` : Save output to file\n- `--rich` : Use Rich formatting (default)\n- `--classic` : Use classic plain text formatting\n\n### Data Analysis & Statistics\n\nComprehensive data analysis with statistical insights:\n\n```bash\ncsvise analyze FILENAME [OPTIONS]\n```\n\n**Options:**\n- `--columns, -c` : Analyze specific columns (comma-separated)\n- `--correlations` : Show correlation matrix for numeric columns\n- `--outliers` : Detect outliers in numeric columns\n- `--distribution` : Show value distribution for categorical columns\n- `-v` : Verbose mode\n- `--classic` : Use classic plain text formatting\n\n### Data Cleaning Operations\n\nPowerful data cleaning and transformation capabilities:\n\n```bash\ncsvise clean FILENAME [OPTIONS]\n```\n\n**Options:**\n- `--remove-duplicates` : Remove duplicate rows\n- `--normalize-whitespace` : Normalize whitespace in all columns\n- `--standardize-case` : Standardize text case (upper, lower, title, sentence)\n- `--fill-missing` : Fill missing values (empty, mode, mean, median, custom)\n- `--fill-value` : Custom value for missing data\n- `--remove-empty-rows` : Remove rows with high empty cell percentage\n- `--output, -o` : Output file for cleaned data\n- `-v` : Verbose mode\n- `--classic` : Use classic plain text formatting\n\n### \ud83c\udfa8 Rich UI Integration\n\nCSVise features beautiful Rich-powered CLI output:\n\n- **Color-coded Tables**: Data types are color-coded (integers in green, floats in yellow, booleans in magenta)\n- **Information Panels**: File statistics and validation issues in styled panels\n- **Progress Indicators**: Visual feedback during data processing\n- **Enhanced Messages**: Beautiful error and success message formatting\n- **Type Highlighting**: Automatic highlighting of data type mismatches\n\n**Modes:**\n- **Rich Mode** (`--rich`): Enhanced visual experience with colors and panels **[default]**\n- **Classic Mode** (`--classic`): Traditional plain text output for compatibility\n\n---\n\n## \ud83d\udcd6 Documentation\n\n### Command Reference\n\n#### Global Options\n- `--help` : Show help and documentation\n- `--version` : Display current version\n\n#### Custom Delimiter Example\n```bash\ncsvise display data.csv --delimiter \";\"\n```\n\n### Configuration\n\nCustomize default behavior with `csvtoolsConfig.json`:\n\n```json\n{\n    \"additional_delimiters\": [\"|\", \";\", \"###\"],\n    \"start_index\": 1,\n    \"num_rows_to_print\": null,\n    \"display_column_lines\": true,\n    \"display_row_lines\": false,\n    \"check_type_mismatches\": true,\n    \"string_case\": \"default\"\n}\n```\n\n### Examples\n\n#### Rich UI Examples\n```bash\n# Beautiful table with validation\ncsvise display data.csv --debug\n\n# Analysis with correlations\ncsvise analyze data.csv --correlations\n\n# Clean data with progress feedback\ncsvise clean data.csv --remove-duplicates --normalize-whitespace\n```\n\n#### Classic Mode Examples\n```bash\n# Plain text output for scripts\ncsvise display data.csv --classic --debug\n\n# Classic analysis output\ncsvise analyze data.csv --classic --outliers\n```\n\n#### Data Analysis Examples\n```bash\n# Comprehensive analysis\ncsvise analyze data.csv --correlations\n\n# Analyze specific columns\ncsvise analyze data.csv --columns \"Age,Salary,Department\"\n\n# Detect outliers\ncsvise analyze data.csv --outliers\n\n# Show distributions\ncsvise analyze data.csv --distribution\n```\n\n#### Data Cleaning Examples\n```bash\n# Basic cleaning\ncsvise clean data.csv --remove-duplicates --normalize-whitespace\n\n# Advanced cleaning pipeline\ncsvise clean data.csv \\\n    --remove-duplicates \\\n    --normalize-whitespace \\\n    --standardize-case title \\\n    --fill-missing mode \\\n    --output cleaned_data.csv\n\n# Remove empty rows\ncsvise clean data.csv --remove-empty-rows 0.5 --output cleaned.csv\n```\n\n### Example Output\n\n```plaintext\n[VERBOSE] Detecting delimiter from sample row: Name,Age,Occupation\n[VERBOSE] Delimiter detected: ,\n[VERBOSE] Detected columns: ['Name', 'Age', 'Occupation']\n\n  | Name      | Age       | Occupation  \n--------------+-----------+-------------\n1 | Alice     | 30        | Engineer   \n2 | Bob       | 25        | Designer   \n3 | Charlie   | Manager   |             \n4 | Diana     | 28        | 7          \n5 | Edward    | 40.5      | Developer  \n6 | Frank     | 20        | Student    \n7 | George    | 45        | Retired    \n\nROWS WITH INCORRECT LENGTH:\nRow 3 is of length 2, expected 3\n\nROWS WITH POTENTIAL TYPE MISMATCHES:\nRow 3, Column 2: Found str, expected int\nRow 4, Column 3: Found int, expected str\n\nTotal number of rows with incorrect length: 1\nTotal number of type mismatches: 2\n```\n\n---\n\n## \ud83d\udd27 Development\n\n### Setup Development Environment\n\n```bash\ngit clone https://github.com/rawsabsaid/csvise-cli-tool.git\ncd csvise-cli-tool\npip install -e \".[dev]\"\n```\n\n### Run Tests\n\n```bash\npytest tests/\n```\n\n### Code Quality\n\n```bash\n# Format code\nblack csvtools/\n\n# Check linting\nflake8 csvtools/\n\n# Type checking\nmypy csvtools/\n```\n\n### Build Package\n\n```bash\npython -m build\ntwine check dist/*\n```\n\n---\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n<div align=\"center\">\n\n**Made with \u2764\ufe0f by [Rawsab Said](https://github.com/rawsabsaid)**\n\n[GitHub](https://github.com/rawsabsaid/csvise-cli-tool) \u2022 [PyPI](https://pypi.org/project/csvise/) \u2022 [Issues](https://github.com/rawsabsaid/csvise-cli-tool/issues)\n\n</div>\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "CLI Tools for Tabular Data - CSV analysis, validation, and beautiful display",
    "version": "1.2.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/rawsabsaid/csvise-cli-tool/issues",
        "Documentation": "https://github.com/rawsabsaid/csvise-cli-tool#readme",
        "Homepage": "https://github.com/rawsabsaid/csvise-cli-tool",
        "Repository": "https://github.com/rawsabsaid/csvise-cli-tool",
        "Source Code": "https://github.com/rawsabsaid/csvise-cli-tool"
    },
    "split_keywords": [
        "csv",
        " cli",
        " data-analysis",
        " validation",
        " table",
        " rich",
        " formatting"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a104defc634a767b2e73d7593bd17fe03b355dd2f5bde8861fa25ccfc2b8e8de",
                "md5": "9356782e421eb21423679de0de9f9c55",
                "sha256": "26ebfa86cb1e1e3a9321d8b2bdbe44a3cd09f94e0f36c40dff3f87d73eb47394"
            },
            "downloads": -1,
            "filename": "csvise-1.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9356782e421eb21423679de0de9f9c55",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 26593,
            "upload_time": "2025-08-19T20:12:34",
            "upload_time_iso_8601": "2025-08-19T20:12:34.769801Z",
            "url": "https://files.pythonhosted.org/packages/a1/04/defc634a767b2e73d7593bd17fe03b355dd2f5bde8861fa25ccfc2b8e8de/csvise-1.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9b6f00bcea375bfdb85f27a9f438c35f7747504d2b41fbc6de81d0708d676190",
                "md5": "b04f9b81f726563267584e934d6ea5d0",
                "sha256": "36f001dd71304aafa3946cbaecd7f1fbb4ba6d34a6f74239c9247474830d7045"
            },
            "downloads": -1,
            "filename": "csvise-1.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "b04f9b81f726563267584e934d6ea5d0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 24165,
            "upload_time": "2025-08-19T20:12:38",
            "upload_time_iso_8601": "2025-08-19T20:12:38.425753Z",
            "url": "https://files.pythonhosted.org/packages/9b/6f/00bcea375bfdb85f27a9f438c35f7747504d2b41fbc6de81d0708d676190/csvise-1.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-19 20:12:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "rawsabsaid",
    "github_project": "csvise-cli-tool",
    "github_not_found": true,
    "lcname": "csvise"
}
        
Elapsed time: 1.70260s