Pour la base de données il serait probablement plus judicieux d'utiliser un base de donnée comme SQLite.
Ca parait compliqué au début, mais ça n'est pas du tout compliqué.
On peut lire un fichier csv avec LoadCsv dans la librairie
StringUtils dans une List.
Les éléments dans List corresponent aux lignes du fichier csv sous la forme d'un Array de Strings.
Mais après il faut passer en revue toutes les lignes pour tester si le mot existe.
Pour des intervalles de dates, il faut utiliser AddPeriod dans
DateUtils.