Cheers from Holland!
So what you have is
probably correctly formatted comma-separated-values, which are in part nonsense. Maybe as long as you don't search for those keywords, as long as those keywords don't appear multiple times, as long as no other restriction is hit upon with....everything will be fine...

If pyGlossary fails, try the tool from Stardict itself: It will have the least restrictions.
Like I said in the long post, there is a problem. Not only is the separator <EOL><EOL><EOL>(Two empty Lines) not only used between articles, but also between subparagraphs in articles. Also there now seems to be a problem with the start of the file which contains text.
If you want to correct for the start of the text:
That can be done manually quite simply.
If you want to correct for the subparagraphs:
Code a loop in which consecutive keywords are compared:
- They should be alphabetically in the correct order.
This is a little complex, because you'll have to compare multiple values to assess that not only a keyword follows on the previous one, but also allows the next ones to follow upon him.
So if a paragraph in an article starting with "ab" is followed by one starting with "d", that is only correct if the next on follows upon it, too. So e.g. "ab", "d", "ae" is wrong and the article starting with "d" should be reclassified as a paragraph to the previous article.
So how do you manage an article that has multiple paragraphs? How many keywords of articles do you have to compare to filter out all paragraphs? Well usually, you do something smart, whilst running the code. You find an extra criterion or you criterion turns out to be more robust that you thought.