Skip to main content

A table data processor

Project description

TabPro - Table Data Processor

TabPro is a Python-based tool for efficient processing of tabular data.

Features

Data Format Support

  • CSV
  • TSV
  • Excel
  • JSON
  • JSON Lines
  • Bidirectional conversion between all supported formats

Table Operations

  1. Table Conversion

    • Convert between different formats
    • Customize output format settings
    • Filter and transform data
  2. Table Merging

    • Merge tables based on common columns
    • Handle multiple table merging
    • Support for staging and version control
  3. Table Aggregation

    • Data aggregation based on grouping
    • Statistical calculations
    • Duplicate detection
  4. Table Sorting

    • Sort by multiple columns
    • Custom sort order
  5. Table Comparison

    • Detect differences between tables
    • Data consistency checking
    • Detailed comparison reports

Installation

Prerequisites

  • Python 3.10 or higher
  • pip (Python package installer)

Installation

pip install tabpro

CLI Usage

Basic Command

tabpro [command] [options]

Available Commands

Table Conversion (convert)

tabpro convert [options] <input_file1> [<input_file2>...] --output <output_file>
# or
tabpro-convert ...
convert-tables ...

Options:

  • --output-file-filtered-out, --output-filtered-out, -f: Path to the output file for filtered out rows
  • --config, -c: Path to the configuration file
  • --pick-columns, --pick: Pick specific columns
  • --do-actions, --actions, --do: Actions to perform on the data
  • --ignore-file-rows, --ignore-rows, --ignore: Ignore specific rows
  • --no-header: Treat CSV/TSV data as having no header row

Table Merging (merge)

tabpro merge [options] --previous <previous_file1> [<previous_file2> ...] --new <modification_file1> [<modification_file2> ...] --keys <key1> [<key2> ...]
# or 
tabpro-merge ...
merge-tables ...

Options:

  • --allow-duplicate-conventional-keys: Allow duplicate keys in previous files
  • --allow-duplicate-modification-keys: Allow duplicate keys in modification files
  • --output-base-data-file: Path to output base data file
  • --output-modified-data-file: Path to output modified data file
  • --output-remaining-data-file: Path to output remaining data file
  • --merge-fields: Fields to merge
  • --merge-staging: Merge staging fields from modification files
  • --use-staging: Use staging fields files

Table Aggregation (aggregate)

tabpro aggregate [options] <input_file> --output <aggregated_json_path>
# or
tabpro-aggregate ...
aggregate-tables ...

Options:

  • --keys-to-show-duplicates: Keys to show duplicates
  • --keys-to-show-all-count: Keys to show all count
  • --keys-to-expand: Keys to expand
  • --show-count-threshold, --count-threshold, -C: Show count threshold (default: 50)
  • --show-count-max-length, --count-max-length, -L: Show count max length (default: 100)

Table Sorting (sort)

tabpro sort [options] <input_file1> [<input_file2> ...] --sort-keys <key1> [<key2> ...] --output <output_file>
# or
tabpro-sort ...
sort-tables ...

Options:

  • --output-file, --output, -O: Path to output file
  • --reverse, -R: Reverse the sort order

Table Comparison (compare)

tabpro compare [options] <input_file1> <input_file2> --query <query_key1> [<query_key2> ...] --output <output_file>
# or
tabpro-compare ...
tabpro-diff ...
compare-tables ...

Options:

  • --compare-keys, --compare, -C: Keys for comparison

Common Options

  • --verbose, -v: Enable verbose logging
  • --version, -V: Show version information

Features

  • Simple and user-friendly command-line interface
  • Flexible data processing options
  • Handles large datasets efficiently
  • Extensible design

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tabpro-0.5.20.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tabpro-0.5.20-py3-none-any.whl (46.3 kB view details)

Uploaded Python 3

File details

Details for the file tabpro-0.5.20.tar.gz.

File metadata

  • Download URL: tabpro-0.5.20.tar.gz
  • Upload date:
  • Size: 30.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.8.0-45-generic

File hashes

Hashes for tabpro-0.5.20.tar.gz
Algorithm Hash digest
SHA256 bf60c03756b10103f9e6e8348d4b61f33c9e5269f5cb2279d83dd3d113e583c8
MD5 9183364cd6d366881cf0a60c822ba5c0
BLAKE2b-256 6635b272804674ec87337eb507bc3a497c925f1156faa7d9880e04ea8af16e6b

See more details on using hashes here.

File details

Details for the file tabpro-0.5.20-py3-none-any.whl.

File metadata

  • Download URL: tabpro-0.5.20-py3-none-any.whl
  • Upload date:
  • Size: 46.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.8.0-45-generic

File hashes

Hashes for tabpro-0.5.20-py3-none-any.whl
Algorithm Hash digest
SHA256 45e0615813dd449277009359ae16a227e10fd800b2b9c0f50117efcdca26d961
MD5 24b9b7de6ff76751699ee41102031bc4
BLAKE2b-256 d7fe88d118a479ade0b657c565a712cea644c01a710c62c53a6c0a6736f37458

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page