Skip to content
# Start with loading all necessary libraries
import numpy as np
import pandas as pd
from os import path
from PIL import Image
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator

import matplotlib.pyplot as plt
%matplotlib inline

import warnings
warnings.filterwarnings("ignore")

from nltk.tokenize import word_tokenize
# Creating the diary input function to create a diary dictionary
def collect_entries():
    entries = []
    while True:
        date = input("Enter the date (YYYY-MM-DD) or type 'done' to finish: ")
        if date.lower() == 'done':
            break
        entry = input("Enter the diary entry: ")
        entries.append({"date": date, "entry": entry})
    return entries

diary_data = collect_entries()


import nltk
from nltk.tokenize import word_tokenize
nltk.download('punkt')
#create empty string 
text = ''
#concatenating entries to empty string for wordcloud
for entry in diary_data:
    text += entry["entry"] + " "

wordcloud = WordCloud(background_color="white").generate(text)

plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()