Iterate over every row and search to see how many items the row could be split into using each of the separators.
Use the one which had rows split most frequently into the same amount of items for each row.
But honestly, this check, while clever and interesting, is likely unnecessary. The user knows their data. I'd pick a default and let them select a different one if needed. You could even persist their selection so they needn't select the same default over and over.