title: How do I read multiple tables on a worksheet from Excel to DataFrame where the tables have non-deterministic locations?
body: <p>What is the easiest way to read the highlighted table in the screenshot below from Excel into a Pandas DataFrame? Suppose I have thousands of worksheets like this. The area I want to read has "Col4" at the top-left corner and doesn't have an entire blank row or column. "Col4" can appear at any (row, column) on the worksheet. </p>
  
  <p>I suppose I can always go with the brutal force approach, where I read the entire sheet first, find the position of "Col4", and then extract the part I want. But I am wondering if there is any easier way to do it. </p>
  
  <p>Also, I have only worked with Pandas so far. I know there are many other packages besides Pandas such as xlwings or xlrd. If you know any of these packages can be helpful please let me know and it will be very appreciated as well. </p>
  
  <p><a href="https://i.stack.imgur.com/qBmbo.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qBmbo.png" alt="enter image description here"></a></p>
  
  <p>Note that this question is not a duplicate of <a href="https://stackoverflow.com/questions/43367805/pandas-read-excel-multiple-tables-on-the-same-sheet">pandas read_excel multiple tables on the same sheet</a>, because the solution in that post only handles the case where the row offset is known beforehand. </p>
  
  <p>The business problem behind this I am solving is to read many  spreadsheets created by non-engineer crews (HR, accounting, etc.) in my company, and unfortunately they didn't create the spreadsheets in a consistent and programming-friendly way. </p>