Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pxaris/expenditure-analyzer
https://github.com/pxaris/expenditure-analyzer
Last synced: 16 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/pxaris/expenditure-analyzer
- Owner: pxaris
- License: mit
- Created: 2024-11-04T16:16:10.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-04T16:52:51.000Z (2 months ago)
- Last Synced: 2024-11-04T17:27:58.885Z (2 months ago)
- Language: Python
- Size: 283 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Expenditure Data Analysis
This repository contains scripts to analyze expenditure data, generating categorized reports and visualizations of financial transactions over time. The analysis outputs a summary report and visualizations for easy data interpretation.
## Docker Installation and Usage
You can use Docker to run the analysis script without needing to install dependencies directly on your machine.
Clone the repository:
```bash
git clone https://github.com/pxaris/expenditure-analyzer.git
cd expenditure-analyzer
```### Step 1: Build the Docker Image
In the root directory of this repository, build the Docker image:
```bash
docker build -t expenditure-analyzer .
```### Step 2: Run the Analysis with Docker
To analyze expenditure data, place your CSV file in the `data/` directory, then specify the `--data_filename` with the following Docker command:
```bash
docker run --rm -v $(pwd)/data:/app/data -v $(pwd)/report:/app/report expenditure-analyzer --data_filename 'sample_data.csv'
```This command:
- Mounts the `data` directory to `/app/data` in the container, so it can access the specified at `--data_filename` CSV file.
- Mounts the `report` directory to `/app/report` in the container, where it will save the generated reports and figures.### Step 3: View the Results
After the analysis completes, you can find the output in the `report/` directory:
- **Report**: The `report.txt` file provides a summary of the analyzed expenditure data, including the total and average expenditures, breakdowns by category, and insights by month.
- **Figures**: The generated figures, including bar charts of monthly expenditures and pie charts showing expenditure distribution by category, are also saved in the `report/` directory.These outputs offer a comprehensive view of your spending patterns, making it easier to understand and interpret your financial data over time.
---
## Manual Installation and Usage
To get started, install the required Python packages. It's recommended to use a virtual environment.
### Requirements Installation
1. Clone the repository:
```bash
git clone https://github.com/pxaris/expenditure-analyzer.git
cd expenditure-analyzer
```2. Install the required packages:
```bash
pip install -r requirements.txt
```### Usage
To analyze expenditure data, follow these steps:
#### Step 1: Configure Default Variables
Open the `config.py` file and set the following default configuration variables if needed:
- `DATA_FILENAME`: Name of the default CSV file containing transaction data, e.g., `'sample_data.csv'`.
- `N_SKIPROWS`: Number of rows to skip at the beginning of the CSV file, typically for headers or additional info, e.g., `6`.
- `CSV_DELIMITER`: The delimiter used in the CSV file, e.g., `';'`.
- `DATE_COLUMN`: Name of the column in the CSV file containing transaction dates, e.g., `'Ημ/νία συναλλαγής'`.
- `EXPENDITURE_COLUMN`: Name of the column with expenditure amounts, e.g., `'Ποσό (EUR)'`.
- `EXPENDITURE_CATEGORY_COLUMN`: Name of the column categorizing expenditures, e.g., `'Κατηγορία δαπάνης'`.
- `CURRENCY`: Currency symbol to display in the report, e.g., `'€'`.#### Step 2: Run the Analysis
You can override the default `DATA_FILENAME` and `REPORT_DIR` values directly from the command line.
##### Basic Usage
To use the default values specified in `config.py`, simply run:
```bash
python analyze.py
```##### Custom Usage
To specify a different data file or report directory, use the following arguments:
```bash
python analyze.py --data_filename 'custom_data.csv' --report_dir 'custom_report_dir'
```This will process the specified input data, perform analysis, and generate reports and visualizations in the designated report directory.
#### Step 3: View the Results
After the analysis completes, the **Report** and the **Figures** will be located in the `report/` directory (or the directory specified in `--report_dir`).
---
## Additional Information
- **Sample Data**: A sample CSV file is included to demonstrate the format required for analysis. It follows the rationale of an exported data file from a Greek bank and the respective analysis can be found in the `sample_report/` directory.
- **Customization**: Modify `config.py` and adjust the `analyze.py` and `utils.py` scripts as needed to fit different datasets or specific analysis requirements.Enjoy analyzing your expenditure data!