Updated to assume no headers.  If headers are present (or any other bad row) it will fail to parse that row and move on.