In Chapter 3, Functions, Iterators and Generators, we saw another example where we parsed a CSV file that was not in a normalized form: we had to discard header rows to make it useful. To do this, we used a simple function that extracted the header and returned an iterator over the remaining rows.
The data looks as follows:
Anscombe's quartet I II III IV x y x y x y x y 10.0 8.04 10.0 9.14 10.0 7.46 8.0 6.58 8.0 6.95 8.0 8.14 8.0 6.77 8.0 5.76 ... 5.0 5.68 5.0 4.74 5.0 5.73 8.0 6.89
The columns are separated by tab characters. Plus there are three rows of headers that we can discard.
Here's another version of that CSV-based parser. We've broken it into three functions. The first, row_iter() function, returns the iterator ...