@@ -86,13 +86,14 @@ def test_bs4_version_fails():
86
86
87
87
88
88
class TestReadHtml (unittest .TestCase ):
89
+ @classmethod
90
+ def setUpClass (cls ):
91
+ _skip_if_none_of (('bs4' , 'html5lib' ))
92
+
89
93
def read_html (self , * args , ** kwargs ):
90
94
kwargs ['flavor' ] = kwargs .get ('flavor' , self .flavor )
91
95
return read_html (* args , ** kwargs )
92
96
93
- def try_skip (self ):
94
- _skip_if_none_of (('bs4' , 'html5lib' ))
95
-
96
97
def setup_data (self ):
97
98
self .spam_data = os .path .join (DATA_PATH , 'spam.html' )
98
99
self .banklist_data = os .path .join (DATA_PATH , 'banklist.html' )
@@ -101,7 +102,6 @@ def setup_flavor(self):
101
102
self .flavor = 'bs4'
102
103
103
104
def setUp (self ):
104
- self .try_skip ()
105
105
self .setup_data ()
106
106
self .setup_flavor ()
107
107
@@ -569,32 +569,29 @@ def test_different_number_of_rows(self):
569
569
def test_parse_dates_list (self ):
570
570
df = DataFrame ({'date' : date_range ('1/1/2001' , periods = 10 )})
571
571
expected = df .to_html ()
572
- res = read_html (expected , parse_dates = [0 ], index_col = 0 )
572
+ res = self . read_html (expected , parse_dates = [0 ], index_col = 0 )
573
573
tm .assert_frame_equal (df , res [0 ])
574
574
575
575
def test_parse_dates_combine (self ):
576
576
raw_dates = Series (date_range ('1/1/2001' , periods = 10 ))
577
577
df = DataFrame ({'date' : raw_dates .map (lambda x : str (x .date ())),
578
578
'time' : raw_dates .map (lambda x : str (x .time ()))})
579
- res = read_html (df .to_html (), parse_dates = {'datetime' : [1 , 2 ]},
580
- index_col = 1 )
579
+ res = self . read_html (df .to_html (), parse_dates = {'datetime' : [1 , 2 ]},
580
+ index_col = 1 )
581
581
newdf = DataFrame ({'datetime' : raw_dates })
582
582
tm .assert_frame_equal (newdf , res [0 ])
583
583
584
584
585
585
class TestReadHtmlLxml (unittest .TestCase ):
586
- def setUp (self ):
587
- self .try_skip ()
586
+ @classmethod
587
+ def setUpClass (cls ):
588
+ _skip_if_no ('lxml' )
588
589
589
590
def read_html (self , * args , ** kwargs ):
590
591
self .flavor = ['lxml' ]
591
- self .try_skip ()
592
592
kwargs ['flavor' ] = kwargs .get ('flavor' , self .flavor )
593
593
return read_html (* args , ** kwargs )
594
594
595
- def try_skip (self ):
596
- _skip_if_no ('lxml' )
597
-
598
595
def test_data_fail (self ):
599
596
from lxml .etree import XMLSyntaxError
600
597
spam_data = os .path .join (DATA_PATH , 'spam.html' )
@@ -616,8 +613,22 @@ def test_works_on_valid_markup(self):
616
613
def test_fallback_success (self ):
617
614
_skip_if_none_of (('bs4' , 'html5lib' ))
618
615
banklist_data = os .path .join (DATA_PATH , 'banklist.html' )
619
- self .read_html (banklist_data , '.*Water.*' , flavor = ['lxml' ,
620
- 'html5lib' ])
616
+ self .read_html (banklist_data , '.*Water.*' , flavor = ['lxml' , 'html5lib' ])
617
+
618
+ def test_parse_dates_list (self ):
619
+ df = DataFrame ({'date' : date_range ('1/1/2001' , periods = 10 )})
620
+ expected = df .to_html ()
621
+ res = self .read_html (expected , parse_dates = [0 ], index_col = 0 )
622
+ tm .assert_frame_equal (df , res [0 ])
623
+
624
+ def test_parse_dates_combine (self ):
625
+ raw_dates = Series (date_range ('1/1/2001' , periods = 10 ))
626
+ df = DataFrame ({'date' : raw_dates .map (lambda x : str (x .date ())),
627
+ 'time' : raw_dates .map (lambda x : str (x .time ()))})
628
+ res = self .read_html (df .to_html (), parse_dates = {'datetime' : [1 , 2 ]},
629
+ index_col = 1 )
630
+ newdf = DataFrame ({'datetime' : raw_dates })
631
+ tm .assert_frame_equal (newdf , res [0 ])
621
632
622
633
623
634
def test_invalid_flavor ():
0 commit comments