The main issue I'm seeing with the file (aside from the blank lines which we can just ignore as you say) is the use of commas as the column separators, but also that there are commas inside fields. For example we have the row:
Looking at the "LongDescription" field it is:
<p>Gives new life to old master cylinders. Contains all parts needed for overhaul. Cheaper alternative to replacing the cylinder.</p><p><strong><u>Fits:</u></strong><br/><small>For full fitment details in a searchable list please check the <b>FITMENTS</b> tab.</small><ul><li title="Yamaha Compatible Models"><b>Yamaha:</b> DT 125R, DT 125R/RE, DT 125RE, DT 125RR, DT 125RRF, DT 125X, DT 200WR, MT-03 660, TDR 125R, TT 660R, VM-X 1200USA, VM-X 1200V-Max, VMX 1700V-Max, WR 125R, WR 125X, WR 200D, WR 250ZB, WR 250ZD, WR 250ZE, WR 250ZF, WR 250ZG, WR 250ZH, XT 660R, XT 660X (1D2/10S), XT-Z 660Tenere, XV 1700Road Star Warrior, XV 1900C Raider, XV 1900Midnight Star, XVZ 1300Royal Star Venture, XVZ 1300Royal Star/Tour Classic, XVZ 1300Wild Star, YZ 125A1, YZ 125B1, YZ 125D1, YZ 125E1, YZ 125F1, YZ 125G1, YZ 125R, YZ 125S, YZ 250A, YZ 250B, YZ 250D, YZ 250E, YZ 250F, YZ 250G, YZ 80F, YZ 80G, YZ 80H, YZ 80J, YZ 80K, YZ 80L, YZ 80M, YZ 80N, YZ 80P, YZ 80R, YZ 80X, YZ 85A, YZ 85B, YZ 85P, YZ 85R, YZ 85S, YZ 85T, YZ 85V, YZ 85W, YZ 85X, YZ 85Y, YZ 85Z</li></ul></p>
All the commas between the list of compatible models (DT 125R, DT 125R/RE, DT 125RE etc etc) mean that when OpenRefine splits the field based on commas (to get the data in columns) it has no way of telling the difference between commas between fields and commas within fields - so in this particular case the record ends up with around 60 additional columns than expected - one for each compatible model in the list
In theory comma separated files should put inverted commas around the field content in these cases so that software, including OpenRefine, knows to ignore commas inside a quote field - but unfortunately that's not happened in this case.
The first thing I'd ask is - is it possible to get the data as a correct CSV in the first place (with fields quoted)? If so that's definitely going to be your easiest solution.
However if that's not possible then you are left with trying to find a way to identify those situations where additional commas are present, and somehow avoid them when splitting into columns - this is not straightforward (seeing Jonathon's message I wonder if the R readr read.csv() is doing a better job as it ends up with 35 cols - but I'm guessing it might actually just be using that as the "max" number of fields based on the header row and just stopping splitting after it reaches 35 - but it is definitely worth checking).
The one ray of light I see is that the fields containing commas seem to generally be HTML fragments - which offers a pattern to work with - I've been playing around and I think I may have a way to get this into better shape but I'm going to have to take a bit more time to look at it - I think I've found an approach that can isolate the fields with commas, which would mean these could be parsed separately. When I have time (hopefully during today) I'll see if my approach is going to work and post an update here.
Owen