Tach!
Nicht nur die Row. Du sammelst ja etliche Zeilen in der Datei und saugst sie dann als Block wieder ein. D.h. du musst vor dem Parsen der Zeilen auch noch den Gesamtstring in Zeilen zerlegen.
Damit habe ich kein Problem, deshalb habe ich es nicht erwähnt.
Doch, mit dem Zeilenende hast du das gleiche Problem wie mit dem Semikolon, wenn es innerhalb von Werten auftaucht.
Nicht die leiseste Ahnung, wie andere das machen, aber ich bin stolz auf meine Idee als Eremit im Hausbüro.
Dann schau nach! Du wirst nicht der erste mit dem Problem sein, und es gibt sicher einige, die dafür bereits einen Parser geschrieben haben. Wozu gibt es Github?
dedlfix.