@@ -134,8 +134,8 @@ def test_usecols_int(self, ext):
134
134
dfref = self .get_csv_refdf ('test1' )
135
135
dfref = dfref .reindex (columns = ['A' , 'B' , 'C' ])
136
136
df1 = self .get_exceldf ('test1' , ext , 'Sheet1' , index_col = 0 , usecols = 3 )
137
- df2 = self .get_exceldf ('test1' , ext , 'Sheet2' , skiprows = [1 ], index_col = 0 ,
138
- usecols = 3 )
137
+ df2 = self .get_exceldf ('test1' , ext , 'Sheet2' , skiprows = [1 ],
138
+ index_col = 0 , usecols = 3 )
139
139
140
140
with tm .assert_produces_warning (FutureWarning ):
141
141
df3 = self .get_exceldf ('test1' , ext , 'Sheet2' , skiprows = [1 ],
@@ -152,8 +152,8 @@ def test_usecols_list(self, ext):
152
152
dfref = dfref .reindex (columns = ['B' , 'C' ])
153
153
df1 = self .get_exceldf ('test1' , ext , 'Sheet1' , index_col = 0 ,
154
154
usecols = [0 , 2 , 3 ])
155
- df2 = self .get_exceldf ('test1' , ext , 'Sheet2' , skiprows = [1 ], index_col = 0 ,
156
- usecols = [0 , 2 , 3 ])
155
+ df2 = self .get_exceldf ('test1' , ext , 'Sheet2' , skiprows = [1 ],
156
+ index_col = 0 , usecols = [0 , 2 , 3 ])
157
157
158
158
with tm .assert_produces_warning (FutureWarning ):
159
159
df3 = self .get_exceldf ('test1' , ext , 'Sheet2' , skiprows = [1 ],
@@ -171,8 +171,8 @@ def test_usecols_str(self, ext):
171
171
df1 = dfref .reindex (columns = ['A' , 'B' , 'C' ])
172
172
df2 = self .get_exceldf ('test1' , ext , 'Sheet1' , index_col = 0 ,
173
173
usecols = 'A:D' )
174
- df3 = self .get_exceldf ('test1' , ext , 'Sheet2' , skiprows = [1 ], index_col = 0 ,
175
- usecols = 'A:D' )
174
+ df3 = self .get_exceldf ('test1' , ext , 'Sheet2' , skiprows = [1 ],
175
+ index_col = 0 , usecols = 'A:D' )
176
176
177
177
with tm .assert_produces_warning (FutureWarning ):
178
178
df4 = self .get_exceldf ('test1' , ext , 'Sheet2' , skiprows = [1 ],
@@ -277,7 +277,8 @@ def test_excel_table(self, ext):
277
277
dfref = self .get_csv_refdf ('test1' )
278
278
279
279
df1 = self .get_exceldf ('test1' , ext , 'Sheet1' , index_col = 0 )
280
- df2 = self .get_exceldf ('test1' , ext , 'Sheet2' , skiprows = [1 ], index_col = 0 )
280
+ df2 = self .get_exceldf ('test1' , ext , 'Sheet2' , skiprows = [1 ],
281
+ index_col = 0 )
281
282
# TODO add index to file
282
283
tm .assert_frame_equal (df1 , dfref , check_names = False )
283
284
tm .assert_frame_equal (df2 , dfref , check_names = False )
@@ -350,7 +351,8 @@ def test_reader_converters(self, ext):
350
351
351
352
# should read in correctly and set types of single cells (not array
352
353
# dtypes)
353
- actual = self .get_exceldf (basename , ext , 'Sheet1' , converters = converters )
354
+ actual = self .get_exceldf (basename , ext , 'Sheet1' ,
355
+ converters = converters )
354
356
tm .assert_frame_equal (actual , expected )
355
357
356
358
def test_reader_dtype (self , ext ):
@@ -426,11 +428,10 @@ def test_read_excel_blank_with_header(self, ext):
426
428
actual = self .get_exceldf ('blank_with_header' , ext , 'Sheet1' )
427
429
tm .assert_frame_equal (actual , expected )
428
430
431
+ @td .skip_if_no ('openpyxl' )
432
+ @td .skip_if_no ('xlwt' )
429
433
# GH 12292 : error when read one empty column from excel file
430
434
def test_read_one_empty_col_no_header (self , ext ):
431
- _skip_if_no_xlwt ()
432
- _skip_if_no_openpyxl ()
433
-
434
435
df = pd .DataFrame (
435
436
[["" , 1 , 100 ],
436
437
["" , 2 , 200 ],
@@ -456,10 +457,9 @@ def test_read_one_empty_col_no_header(self, ext):
456
457
tm .assert_frame_equal (actual_header_none , expected )
457
458
tm .assert_frame_equal (actual_header_zero , expected )
458
459
460
+ @td .skip_if_no ('openpyxl' )
461
+ @td .skip_if_no ('xlwt' )
459
462
def test_read_one_empty_col_with_header (self , ext ):
460
- _skip_if_no_xlwt ()
461
- _skip_if_no_openpyxl ()
462
-
463
463
df = pd .DataFrame (
464
464
[["" , 1 , 100 ],
465
465
["" , 2 , 200 ],
@@ -486,10 +486,9 @@ def test_read_one_empty_col_with_header(self, ext):
486
486
expected_header_zero = DataFrame (columns = [0 ], dtype = 'int64' )
487
487
tm .assert_frame_equal (actual_header_zero , expected_header_zero )
488
488
489
+ @td .skip_if_no ('openpyxl' )
490
+ @td .skip_if_no ('xlwt' )
489
491
def test_set_column_names_in_parameter (self , ext ):
490
- _skip_if_no_xlwt ()
491
- _skip_if_no_openpyxl ()
492
-
493
492
# GH 12870 : pass down column names associated with
494
493
# keyword argument names
495
494
refdf = pd .DataFrame ([[1 , 'foo' ], [2 , 'bar' ],
@@ -529,14 +528,16 @@ def test_sheet_name_and_sheetname(self, ext):
529
528
dfref = self .get_csv_refdf ('test1' )
530
529
df1 = self .get_exceldf ('test1' , ext , sheet_name = 'Sheet1' ) # doc
531
530
with tm .assert_produces_warning (FutureWarning , check_stacklevel = False ):
532
- df2 = self .get_exceldf ('test1' , ext , sheetname = 'Sheet1' ) # bkwrd compat
531
+ df2 = self .get_exceldf ('test1' , ext ,
532
+ sheetname = 'Sheet1' ) # bkwrd compat
533
533
534
534
tm .assert_frame_equal (df1 , dfref , check_names = False )
535
535
tm .assert_frame_equal (df2 , dfref , check_names = False )
536
536
537
537
def test_sheet_name_both_raises (self , ext ):
538
538
with tm .assert_raises_regex (TypeError , "Cannot specify both" ):
539
- self .get_exceldf ('test1' , ext , sheetname = 'Sheet1' , sheet_name = 'Sheet1' )
539
+ self .get_exceldf ('test1' , ext , sheetname = 'Sheet1' ,
540
+ sheet_name = 'Sheet1' )
540
541
541
542
542
543
@pytest .mark .parametrize ("ext" , ['.xls' , '.xlsx' , '.xlsm' ])
@@ -559,9 +560,8 @@ def test_excel_read_buffer(self, ext):
559
560
actual = read_excel (xls , 'Sheet1' , index_col = 0 )
560
561
tm .assert_frame_equal (expected , actual )
561
562
563
+ @td .skip_if_no ('xlwt' )
562
564
def test_read_xlrd_Book (self , ext ):
563
- _skip_if_no_xlwt ()
564
-
565
565
df = self .frame
566
566
with ensure_clean ('.xls' ) as pth :
567
567
df .to_excel (pth , "SheetA" )
@@ -659,14 +659,12 @@ def test_reader_closes_file(self, ext):
659
659
660
660
assert f .closed
661
661
662
+ @td .skip_if_no ('openpyxl' )
663
+ @td .skip_if_no ('xlwt' )
662
664
def test_creating_and_reading_multiple_sheets (self , ext ):
663
665
# Test reading multiple sheets, from a runtime created excel file
664
666
# with multiple sheets.
665
667
# See PR #9450
666
-
667
- _skip_if_no_xlwt ()
668
- _skip_if_no_openpyxl ()
669
-
670
668
def tdf (sheetname ):
671
669
d , i = [11 , 22 , 33 ], [1 , 2 , 3 ]
672
670
return DataFrame (d , i , columns = [sheetname ])
@@ -778,9 +776,9 @@ def test_read_excel_multiindex(self, ext):
778
776
header = [0 , 1 ], skiprows = 2 )
779
777
tm .assert_frame_equal (actual , expected )
780
778
779
+ @td .skip_if_no ('xlsxwriter' )
781
780
def test_read_excel_multiindex_empty_level (self , ext ):
782
781
# GH 12453
783
- _skip_if_no_xlsxwriter ()
784
782
with ensure_clean ('.xlsx' ) as path :
785
783
df = DataFrame ({
786
784
('Zero' , '' ): {0 : 0 },
@@ -818,9 +816,9 @@ def test_read_excel_multiindex_empty_level(self, ext):
818
816
actual = pd .read_excel (path , header = [0 , 1 ])
819
817
tm .assert_frame_equal (actual , expected )
820
818
819
+ @td .skip_if_no ('xlsxwriter' )
821
820
def test_excel_multindex_roundtrip (self , ext ):
822
821
# GH 4679
823
- _skip_if_no_xlsxwriter ()
824
822
with ensure_clean ('.xlsx' ) as pth :
825
823
for c_idx_names in [True , False ]:
826
824
for r_idx_names in [True , False ]:
@@ -937,11 +935,10 @@ def test_read_excel_chunksize(self, ext):
937
935
pd .read_excel (os .path .join (self .dirpath , 'test1' + ext ),
938
936
chunksize = 100 )
939
937
938
+ @td .skip_if_no ('openpyxl' )
939
+ @td .skip_if_no ('xlwt' )
940
940
def test_read_excel_parse_dates (self , ext ):
941
941
# GH 11544, 12051
942
- _skip_if_no_openpyxl ()
943
- _skip_if_no_xlwt () # for df2.to_excel
944
-
945
942
df = DataFrame (
946
943
{'col' : [1 , 2 , 3 ],
947
944
'date_strings' : pd .date_range ('2012-01-01' , periods = 3 )})
@@ -1707,7 +1704,8 @@ def roundtrip(df, header=True, parser_hdr=0, index=True):
1707
1704
assert res .shape == (1 , 2 )
1708
1705
assert res .iloc [0 , 0 ] is not np .nan
1709
1706
1710
- def test_excel_010_hemstring_raises_NotImplementedError (self , merge_cells , engine , ext ):
1707
+ def test_excel_010_hemstring_raises_NotImplementedError (self , merge_cells ,
1708
+ engine ,ext ):
1711
1709
# This test was failing only for j>1 and header=False,
1712
1710
# So I reproduced a simple test.
1713
1711
if merge_cells :
0 commit comments