77 lines
2.0 KiB
Markdown
77 lines
2.0 KiB
Markdown
# Tree Planting Data Validator 🌳
|
|
|
|
A lightweight Python script that validates tree planting records stored in Excel files. It reads the data, cleans trailing blank rows, counts records, and produces a clear validation report.
|
|
|
|
Perfect for NGOs, reforestation projects, environmental organizations, or anyone managing large-scale tree planting data.
|
|
|
|
## Features
|
|
|
|
- Reads Excel files with customizable header row
|
|
- Automatically cleans trailing/empty rows
|
|
- Reports total records processed
|
|
- Extensible validation framework (ready for additional checks)
|
|
- Command-line interface with useful options
|
|
- Optional CSV error report export
|
|
|
|
## Requirements
|
|
|
|
- Python 3.8+
|
|
- pandas
|
|
- openpyxl (for `.xlsx` support)
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
git clone https://your-gitea-instance.com/yourusername/tree-planting-data-validator.git
|
|
cd tree-planting-data-validator
|
|
|
|
# Recommended: use a virtual environment
|
|
python -m venv venv
|
|
source venv/bin/activate # Windows: venv\Scripts\activate
|
|
|
|
pip install pandas openpyxl
|
|
Usagebash
|
|
|
|
python validate_tree_planting_data.py "path/to/your_data.xlsx"
|
|
|
|
OptionsArgument
|
|
Description
|
|
Default
|
|
excel_file_path
|
|
Path to the Excel file
|
|
-
|
|
--header-row
|
|
Row number containing headers
|
|
1
|
|
--debug
|
|
Show debug information
|
|
False
|
|
--output
|
|
Save errors to CSV file
|
|
-
|
|
|
|
Example:bash
|
|
|
|
# Basic usage
|
|
python validate_tree_planting_data.py planting_data_2025.xlsx
|
|
|
|
# With custom header and output report
|
|
python validate_tree_planting_data.py data.xlsx --header-row 2 --output errors.csv --debug
|
|
|
|
Project Structure
|
|
|
|
tree-planting-data-validator/
|
|
├── validate_tree_planting_data.py # Main script
|
|
├── README.md
|
|
├── LICENSE
|
|
└── examples/ # (optional) sample Excel files
|
|
|
|
Roadmap / Future EnhancementsField-level validation (dates, coordinates, species names, etc.)
|
|
Duplicate detection
|
|
Summary statistics (trees per species, region, etc.)
|
|
Web interface / CLI dashboard
|
|
Support for CSV input
|
|
|
|
LicenseMIT License — feel free to use and adapt for your tree-planting projects.
|
|
|