Python is a very powerful programming language, and I’ve made a lot of projects in it. From Amazon price trackers to Spotify recommenders, it can do a bunch of different things, and my most recent project has been to build a financial dashboard that can graph data from a CSV. It trracks expenditure, savings, and expenditure per category, and it can give you a quick overview of your spending month to month.
Naturally, there are a ton of options out there that you can use, including many templates in Excel. However, this is one that you completely control, and you can modify it pretty easily if you’re proficient with Python.
Python is great for data analysis
All you need to do is track your spending in CSV format
I do a lot of data analysis in Python, because it’s a powerful programming language with some great, easy to use modules for analysis and graphing. On top of that, Flask is a module that you can use to host websites in Python, and you can combine those graphing modules with Flask to insert graphs into a webpage when it renders.
For this project, I used Flask and I created a basic Material Design page where I could upload a CSV file split into date, category, and the amount of expenditure. It then groups that expenditure into both a month and into categories, showing the total amount earned, spent, saved, and then how much was spent in individual categories. This data is then graphed using Plotly, as it’s a browser-based graphing library that you can easily insert into webpages.
Close
From there, images are inserted into the HTML template from the CSV the user submits, and it can give an overview of all of your spending habits. I created a sample CSV for analysis to show it works, using randomized income and expenditure values, which in turn changed the amount in savings, too. Finally, an average is calculated for how much of your income is going to savings.
The reason I used a CSV format as well is because most banks will support exporting your statements to that format, and while you may need to do some basic data clean-up to make it work with this program, it should be relatively easy to convert in most formats. Your bank may not support categories, and that may be the biggest drawback. If so, you can combine categories yourself and merge them together.
Python is great for data visualization
You can draw any data that you need to
Python is perfect for visualizing data, and it’s so versatile. That’s why it’s great for pairing with Excel as well, and why Microsoft has been rolling out that feature for people who want to enjoy the power of Python alongside their spreadsheets. You can learn a lot with Python through projects like these, and it can teach you how to manage your data, too. There are plenty of financial Excel templates if you’d rather not use Python, but you can check out the GitHub for this project if you’d like to give it a shot.


