@@ -324,7 +324,7 @@ def _parse_thead(self, table):
324
324
raise com .AbstractMethodError (self )
325
325
326
326
def _parse_tbody (self , table ):
327
- """Return the body of the table.
327
+ """Return the list of tbody elements from the parsed table element .
328
328
329
329
Parameters
330
330
----------
@@ -333,8 +333,8 @@ def _parse_tbody(self, table):
333
333
334
334
Returns
335
335
-------
336
- tbody : node-like
337
- A <tbody>...</tbody> element.
336
+ tbodys : list of node-like
337
+ A list of <tbody>...</tbody> elements
338
338
"""
339
339
raise com .AbstractMethodError (self )
340
340
@@ -388,13 +388,17 @@ def _parse_raw_tfoot(self, table):
388
388
np .array (res ).squeeze ()) if res and len (res ) == 1 else res
389
389
390
390
def _parse_raw_tbody (self , table ):
391
- tbody = self ._parse_tbody (table )
391
+ tbodies = self ._parse_tbody (table )
392
392
393
- try :
394
- res = self ._parse_tr (tbody [0 ])
395
- except IndexError :
396
- res = self ._parse_tr (table )
397
- return self ._parse_raw_data (res )
393
+ raw_data = []
394
+
395
+ if len (tbodies ) > 0 :
396
+ for tbody in tbodies :
397
+ raw_data .extend (self ._parse_tr (tbody ))
398
+ else :
399
+ raw_data .extend (self ._parse_tr (table ))
400
+
401
+ return self ._parse_raw_data (raw_data )
398
402
399
403
def _handle_hidden_tables (self , tbl_list , attr_name ):
400
404
"""Returns list of tables, potentially removing hidden elements
0 commit comments