https://github.com/ikegee/csv-console-table-ps1
Create snapshots of CSV files in console tables using PowerShell
https://github.com/ikegee/csv-console-table-ps1
console-application csv-files csv-reader csv-validation powershell ps1 table-generator
Last synced: 3 months ago
JSON representation
Create snapshots of CSV files in console tables using PowerShell
- Host: GitHub
- URL: https://github.com/ikegee/csv-console-table-ps1
- Owner: ikegee
- License: mit
- Created: 2025-01-03T08:36:38.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-21T07:08:59.000Z (about 1 year ago)
- Last Synced: 2025-01-21T08:19:44.122Z (about 1 year ago)
- Topics: console-application, csv-files, csv-reader, csv-validation, powershell, ps1, table-generator
- Language: PowerShell
- Homepage:
- Size: 54.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CSV Console Table in PowerShell
This PowerShell implementation provides dynamic column type detection and data validation while creating clean, aligned console output - making it ideal for consistent data snapshots and type verification.
## Features
- Dynamically detects and validates column types from CSV data
- Supports multiple data types: Int, Float, Bool, String, and Null
- Creates formatted console tables with proper alignment
- Validates subsequent rows against the detected schema
- Handles duplicate column names with automatic suffixes
- Limits output width with smart string truncation
- Saves output to both console and file
## Example Input CSV ([`default.csv`](default.csv)):
```csv
1,Welcome to dynamic-csv-headers.ps1 Welcome to csv_console_table.ps1,10.00
2,This is a sample data csv file,19.97
3,1st row: set header types,1.99
4,This file headers: 'int *char float *char',11.99
5,Unknown types become `*char/string`,19.97
6,'gcc -o xyz .\csv_processor.c -lm',19.17
7,'.\csv_console_table.ps1',19.84
8,'python -m grip README.md',16.89
9,'.\csv_console_table.ps1' yourfile.csv ,19.97
```
## Example Output

## Usage
- **PowerShell**:
- .\csv_console_table.ps1 .\yourfile.csv (optional)
- **BASH**:
- pwsh csv_console_table.ps1 yourfile.csv (optional)
## Parameters
- DefaultFile: Path to CSV file (default: "default.csv")
- rowLimit: Maximum rows to process (range: 1-1000, default: 10)
## Data Type Detection
- The script automatically detects these column types:
- Int (whole numbers)
- Float (decimal numbers)
- Bool (true/false)
- String (text)
- Null (empty or null values)
## Limitations
- The script assumes the first row contains column headers.
- Duplicate column names are not supported.
- The output width is limited to 120 characters.
## Requirements
- PowerShell 7.0+
- Read access to CSV files
## Purpose
- This PowerShell implementation offers:
- Dynamic type detection and validation
- Clean console output formatting
- Data integrity verification
- Platform independence
- Educational resource for PowerShell scripting practices
## Alternatives
- **PowerShell**:
- Import-Csv "data.csv" | Format-Table
- **BASH**:
- csvcut -c 1,2,3 default.csv
## License
- This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.