Hi Charlie. It's being removed somewhere. It is simply an excel created file with one sheet and one string value in a1. The file is saved and I exit excel. The tuple returned when I ask for worksheet.rows is ((),) -->empty. If I put an additional value into b1 it all works.
I'm slightly worried about all the interest in such a minor issue. As you've all seen there's a problem in that worksheets are "bootstrapped" so that the metrics for an empty worksheet are the same as for one containing a single cell in the first column of the first row.
The best solution may be a proper handling of an empty worksheet.
I wonder what the use case is for looping over the rows of a worksheet with just one cell in them. But here tuple(ws.iter_rows()) should work fine.
@CharlieC As my pull request shows, my interest in columns has a different reason, as my pull request shows. My PR has a different solution for this problem. Don't know if this is the location to discuss it, but this way @Nicholas Pressey is up to date.
One thing to note here is that some code is shared across different implementations which makes a solution like using if not ws._cells… (always True in read-only modus) a trickier. But essentially there needs to be a check for whether a worksheet is empty or not.
That aside, I think that ws.rows and ws.columns should be generators in both implementations.