Metadata-Version: 2.2
Name: erichschroeter.csv_excel
Version: 0.1.0
Summary: A library to convert CSV files to Excel and back
Author-email: Erich Schroeter <erich.schroeter+pypi@gmail.com>
Project-URL: Homepage, https://github.com/erichschroeter/csv-excel
Project-URL: Issues, https://github.com/erichschroeter/csv-excel/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: openpyxl==3.1.5
Requires-Dist: PyYAML==6.0.2
Requires-Dist: XlsxWriter==3.2.0
Provides-Extra: test
Requires-Dist: pytest==8.3.3; extra == "test"

# CSV Excel

- [CSV Excel](#csv-excel)
  - [Feature comparison](#feature-comparison)
  - [Getting started](#getting-started)
    - [Windows](#windows)
    - [Linux](#linux)
  - [Maintainers](#maintainers)

## Feature comparison

Some of the features may be arbitrary, but by using **csv-excel** it may be possible to have the best of both worlds.

| Feature             | Text Files                                           | Excel Files                                                       | Text Win | Excel Win |
|---------------------|------------------------------------------------------|-------------------------------------------------------------------|----------|-----------|
| Simplicity          | Easy to create and edit with basic text editors.     | Intuitive interface with user-friendly features.                  | X        |           |
| Version Control     | Works well with version control systems (e.g., Git). | Poor compatibility with version control due to binary format.     | X        |           |
| File Size           | Smaller file size for simple data structures.        | Can handle moderate data sizes with formatting.                   | X        |           |
| Portability         | Highly portable and platform-independent.            | Supported on most platforms with Excel readers.                   | X        |           |
| Data Organization   | Lacks inherent structure for tabular data.           | Designed for structured and tabular data.                         |          | X         |
| Data Validation     | No built-in validation or formatting.                | Built-in validation and formatting options.                       |          | X         |
| Usability           | Not user-friendly for non-technical users.           | Easy to navigate for users with minimal training.                 |          | X         |
| Scalability         | Becomes harder to manage with large datasets.        | Handles large datasets better with structured sheets.             |          | X         |
| Search and Sort     | Requires external tools.                             | Built-in search, sort, and filter features.                       |          | X         |
| Formatting          | Plain text only, no styling or formatting.           | Supports cell formatting, charts, and styles.                     |          | X         |
| Dependency          | Requires Excel software or compatible tools.         | Requires proprietary software or libraries to access.             | X        |           |
| Corruption Risk     | Low risk of file corruption.                         | Higher risk of file corruption, especially with complex files.    | X        |           |
| Complexity          | Simple structure is easy to debug and modify.        | Complex formatting and macros can complicate troubleshooting.     | X        |           |
| Automation          | Easily parsed with programming languages.            | Integrates well with tools like Python, VBA, etc.                 | X        |           |
| Automation Overhead | Minimal overhead for scripting and automation.       | Requires knowledge of Excel-specific automation (e.g., VBA).      | X        |           |
| Cost                | Free to use with no specialized software needed.     | May involve licensing costs for Excel software.                   | X        |           |

[top](#csv-excel)

## Getting started

> [!IMPORTANT]
> The `git lfs pull` is important since the `vbaProject.bin` needs to exist locally in order to be included in the generated Excel file created via the `csv2xl` subcommand.

**Dependencies**
* [Python 3](https://www.python.org/)
* (recommended) [virtualenv](https://virtualenv.pypa.io/en/latest/user_guide.html)
    * `pip install virtualenv`

### Windows
```PowerShell
git lfs pull
python -m venv .venv
.venv\Scripts\activate.bat
pip install -r requirements.txt
python -m csv-excel --help
```

[top](#csv-excel)

### Linux
```bash
git lfs pull
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
python -m csv-excel --help
```

[top](#csv-excel)

## Maintainers

See [DEVELOPERS.md](./DEVELOPERS.md)

[top](#csv-excel)
