This web app made with python + pandas + streamlit
. This app uses the user's listening data which is downloaded from the spotify website.
Clone this repository to run the web app by running these following commands:
# To install streamlit library
pip install streamlit
# To open the streamlit web app in your browser
streamlit run 1_🗒️_README.py
- Download the requested data from spotify. And merge similar files.
- Also
delete credential files
. Some files may contains your spotify login ID.
# File Structure:
.
├── 1_🗒️_README.py
├── README.md
├── __init__.py
├── data_files
│ ├── AllPlaylists.json
│ ├── ListeningHistory.json
│ └── unorganized_data
│ ├── Playlist1.json
│ ├── Playlist2.json
│ ├── StreamingHistory1-0.json
│ ├── StreamingHistory1-1.json
│ ├── StreamingHistory2-0.json
│ └── StreamingHistory2-1.json
├── manage_data_file.py
└── pages
├── 2_💬_Overview.py
├── 3_🗂️_Playlist.py
└── 4_🎙_Songs & Artists.py
- Did some EDA on
ListeningHistory.json
files to get someMoM
andYoY
insights. - On
AllPlaylists.json
files:- Import the file with
pd.read_json()
. - Normalize it with
pd.normalize_json(data, record_path, record_prefix, meta, meta_prefix)
. - Then drop some blank columns.
- Finally, apply
pd.merge()
to merge the df on'name'
column.
- Import the file with
Created by arv-anshul
- I first did some analysis on this data with
jupyter notebook
about 6 months ago. - But now I learned the
streamlit
(a python library which helps to create web apps). - Then, I created this
my spotify
listening data dashboard withstreamlit
.