True. In that case, as you indicate, you try to avoid working with the legacy data. Instead you do multiple passes, in each pass you look for things that you can parse, and divide the data into stuff that you just figured out, and leftovers. After a few rounds, the number of leftovers hopefully becomes managable by hand, you load your database, and then go from there.
If aquiring legacy data is an ongoing process, you can semi-automate this. But it would be unwise to try to avoid having the final manual pass. A 95% solution is easy. 99.5% is doable. 100% is pretty much impossible.