CLI tool that turns a CSV file into an HTML table with basic formatting
Project description
tablify-csv
CLI tool to convert data in a CSV file into an HTML table with basic formatting.
The tool lets you:
- Specify column headings to be displayed on the final HTML table
- Assign class names to any column (assign to
td
tags that fall under a given column) - Save the output (prettified) HTML into a file and/or copy to clipboard
Requirements
- Python >= 3.8
- lxml >= 4.5.2
- prompt-toolkit >= 3.0.6
- pyperclip >= 1.8.0
- typer >= 0.3.2
Please see requirements.txt
and dev-requirements.txt
for full list of dependencies.
Installation
It's recommended to create and activate a virtual environment before installing.
For the latest stable release, install from PyPI package with pip
:
$ pip install tablify-csv
To install the latest development version, run the following:
$ pip install git+https://github.com/ralphqq/tablify-csv
Usage
Once installed, tablify-csv
can now be used without any additional configuration required. If applicable, make sure that the virtual environment where you pip installed tablify-csv
is activated.
Valid CSV File
The current version of tablify-csv
assumes the CSV file to be parsed has:
- A header row with the column names in the first line of the file
- No empty lines between the header row and the first data row (i.e., the first data row immediately follows the header row)
Usage Examples
To convert a CSV file:
$ tablify-csv CSV_FILENAME
This will save the HTML table in a file with the same name as the CSV file except the extension will be .html
.
To specify a filename for the output file:
$ tablify-csv CSV_FILENAME --output-file OUTPUT_FILENAME
To copy the resulting HTML table to the clipboard (without saving to an output file):
$ tablify-csv CSV_FILENAME --clip
To copy the resulting HTML table to the clipboard and save it to an output file:
$ tablify-csv CSV_FILENAME --output-file OUTPUT_FILENAME --clip
Development Setup
- Clone this repo at https://github.com/ralphqq/tablify-csv
- Create and activate a virtual environment
- Install the development dependencies:
$ pip install -r dev-requirements.txt
- Run the test suite:
$ pytest
Note: To ensure coding style consistency, this project uses pre-commit hooks. You may also want to initialize pre-commits into your local development clone (this is strongly recommended if you want to contribute, see Contributing
section).
$ pre-commit install
Contributing
- Fork this repo at https://github.com/ralphqq/tablify-csv
- Clone your fork into your local machine
- Follow steps in Development Setup but skip step 1
- Initialize pre-commit hooks
$ pre-commit install
- Create your feature branch:
$ git checkout -b feature/some-new-thing
- Commit your changes:
$ git commit -m "Develop new thing"
- Push to the branch:
$ git push origin feature/some-new-thing
- Create a pull request
License
tablify-csv
is available under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file tablify-csv-0.2.0.tar.gz
.
File metadata
- Download URL: tablify-csv-0.2.0.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f38f232445b9128f42f4e2461cc4818ff34b08883e938f5b77d1609d530fe268 |
|
MD5 | 0778ad389e66cc8c4008438a941b6fbf |
|
BLAKE2b-256 | cee6af933fc12c721c4771d890b2af5ce64de04106ea4c285b7b4cba875e3252 |