5
5
import sys
6
6
import os
7
7
from distutils .version import LooseVersion
8
+ from functools import partial
8
9
9
10
import warnings
10
11
from warnings import catch_warnings
@@ -407,7 +408,7 @@ def test_reading_all_sheets(self):
407
408
# Ensure a dict is returned.
408
409
# See PR #9450
409
410
basename = 'test_multisheet'
410
- dfs = self .get_exceldf (basename , sheetname = None )
411
+ dfs = self .get_exceldf (basename , sheet_name = None )
411
412
# ensure this is not alphabetical to test order preservation
412
413
expected_keys = ['Charlie' , 'Alpha' , 'Beta' ]
413
414
tm .assert_contains_all (expected_keys , dfs .keys ())
@@ -424,7 +425,7 @@ def test_reading_multiple_specific_sheets(self):
424
425
basename = 'test_multisheet'
425
426
# Explicitly request duplicates. Only the set should be returned.
426
427
expected_keys = [2 , 'Charlie' , 'Charlie' ]
427
- dfs = self .get_exceldf (basename , sheetname = expected_keys )
428
+ dfs = self .get_exceldf (basename , sheet_name = expected_keys )
428
429
expected_keys = list (set (expected_keys ))
429
430
tm .assert_contains_all (expected_keys , dfs .keys ())
430
431
assert len (expected_keys ) == len (dfs .keys ())
@@ -434,7 +435,7 @@ def test_reading_all_sheets_with_blank(self):
434
435
# In the case where some sheets are blank.
435
436
# Issue #11711
436
437
basename = 'blank_with_header'
437
- dfs = self .get_exceldf (basename , sheetname = None )
438
+ dfs = self .get_exceldf (basename , sheet_name = None )
438
439
expected_keys = ['Sheet1' , 'Sheet2' , 'Sheet3' ]
439
440
tm .assert_contains_all (expected_keys , dfs .keys ())
440
441
@@ -551,11 +552,15 @@ def test_sheet_name_and_sheetname(self):
551
552
dfref = self .get_csv_refdf ('test1' )
552
553
df1 = self .get_exceldf ('test1' , sheet_name = 'Sheet1' ) # doc
553
554
with tm .assert_produces_warning (FutureWarning , check_stacklevel = False ):
554
- df2 = self .get_exceldf ('test1' , sheetname = 'Sheet2 ' ) # bkwrd compat
555
+ df2 = self .get_exceldf ('test1' , sheetname = 'Sheet1 ' ) # bkwrd compat
555
556
556
557
tm .assert_frame_equal (df1 , dfref , check_names = False )
557
558
tm .assert_frame_equal (df2 , dfref , check_names = False )
558
559
560
+ def test_sheet_name_both_raises (self ):
561
+ with tm .assert_raises_regex (TypeError , "Cannot specify both" ):
562
+ self .get_exceldf ('test1' , sheetname = 'Sheet1' , sheet_name = 'Sheet1' )
563
+
559
564
560
565
class XlrdTests (ReadingTestsBase ):
561
566
"""
@@ -589,7 +594,7 @@ def test_read_xlrd_Book(self):
589
594
result = read_excel (xl , "SheetA" )
590
595
tm .assert_frame_equal (df , result )
591
596
592
- result = read_excel (book , sheetname = "SheetA" , engine = "xlrd" )
597
+ result = read_excel (book , sheet_name = "SheetA" , engine = "xlrd" )
593
598
tm .assert_frame_equal (df , result )
594
599
595
600
@tm .network
@@ -691,7 +696,7 @@ def tdf(sheetname):
691
696
with ExcelWriter (pth ) as ew :
692
697
for sheetname , df in iteritems (dfs ):
693
698
df .to_excel (ew , sheetname )
694
- dfs_returned = read_excel (pth , sheetname = sheets )
699
+ dfs_returned = read_excel (pth , sheet_name = sheets )
695
700
for s in sheets :
696
701
tm .assert_frame_equal (dfs [s ], dfs_returned [s ])
697
702
@@ -1001,19 +1006,19 @@ def test_read_excel_squeeze(self):
1001
1006
tm .assert_series_equal (actual , expected )
1002
1007
1003
1008
1004
- class XlsReaderTests (XlrdTests ):
1009
+ class TestXlsReaderTests (XlrdTests ):
1005
1010
ext = '.xls'
1006
1011
engine_name = 'xlrd'
1007
1012
check_skip = staticmethod (_skip_if_no_xlrd )
1008
1013
1009
1014
1010
- class XlsxReaderTests (XlrdTests ):
1015
+ class TestXlsxReaderTests (XlrdTests ):
1011
1016
ext = '.xlsx'
1012
1017
engine_name = 'xlrd'
1013
1018
check_skip = staticmethod (_skip_if_no_xlrd )
1014
1019
1015
1020
1016
- class XlsmReaderTests (XlrdTests ):
1021
+ class TestXlsmReaderTests (XlrdTests ):
1017
1022
ext = '.xlsm'
1018
1023
engine_name = 'xlrd'
1019
1024
check_skip = staticmethod (_skip_if_no_xlrd )
@@ -1872,12 +1877,18 @@ def test_freeze_panes(self):
1872
1877
1873
1878
def test_path_pathlib (self ):
1874
1879
df = tm .makeDataFrame ()
1875
- result = tm .round_trip_pathlib (df .to_excel , pd .read_excel )
1880
+ writer = partial (df .to_excel , engine = self .engine_name )
1881
+ reader = partial (pd .read_excel )
1882
+ result = tm .round_trip_pathlib (writer , reader ,
1883
+ path = "foo.{}" .format (self .ext ))
1876
1884
tm .assert_frame_equal (df , result )
1877
1885
1878
1886
def test_path_localpath (self ):
1879
1887
df = tm .makeDataFrame ()
1880
- result = tm .round_trip_localpath (df .to_excel , pd .read_excel )
1888
+ writer = partial (df .to_excel , engine = self .engine_name )
1889
+ reader = partial (pd .read_excel )
1890
+ result = tm .round_trip_pathlib (writer , reader ,
1891
+ path = "foo.{}" .format (self .ext ))
1881
1892
tm .assert_frame_equal (df , result )
1882
1893
1883
1894
@@ -1909,7 +1920,7 @@ def versioned_raise_on_incompat_version(cls):
1909
1920
1910
1921
1911
1922
@raise_on_incompat_version (1 )
1912
- class OpenpyxlTests (ExcelWriterBase ):
1923
+ class TestOpenpyxlTests (ExcelWriterBase ):
1913
1924
ext = '.xlsx'
1914
1925
engine_name = 'openpyxl1'
1915
1926
check_skip = staticmethod (lambda * args , ** kwargs : None )
@@ -1962,7 +1973,7 @@ def setup_class(cls):
1962
1973
1963
1974
@raise_on_incompat_version (2 )
1964
1975
@skip_openpyxl_gt21
1965
- class Openpyxl20Tests (ExcelWriterBase ):
1976
+ class TestOpenpyxl20Tests (ExcelWriterBase ):
1966
1977
ext = '.xlsx'
1967
1978
engine_name = 'openpyxl20'
1968
1979
check_skip = staticmethod (lambda * args , ** kwargs : None )
@@ -2078,7 +2089,7 @@ def setup_class(cls):
2078
2089
2079
2090
@raise_on_incompat_version (2 )
2080
2091
@skip_openpyxl_lt22
2081
- class Openpyxl22Tests (ExcelWriterBase ):
2092
+ class TestOpenpyxl22Tests (ExcelWriterBase ):
2082
2093
ext = '.xlsx'
2083
2094
engine_name = 'openpyxl22'
2084
2095
check_skip = staticmethod (lambda * args , ** kwargs : None )
@@ -2173,7 +2184,7 @@ def test_write_cells_merge_styled(self):
2173
2184
assert xcell_a2 .font == openpyxl_sty_merged
2174
2185
2175
2186
2176
- class XlwtTests (ExcelWriterBase ):
2187
+ class TestXlwtTests (ExcelWriterBase ):
2177
2188
ext = '.xls'
2178
2189
engine_name = 'xlwt'
2179
2190
check_skip = staticmethod (_skip_if_no_xlwt )
@@ -2230,7 +2241,7 @@ def test_to_excel_styleconverter(self):
2230
2241
assert xlwt .Alignment .VERT_TOP == xls_style .alignment .vert
2231
2242
2232
2243
2233
- class XlsxWriterTests (ExcelWriterBase ):
2244
+ class TestXlsxWriterTests (ExcelWriterBase ):
2234
2245
ext = '.xlsx'
2235
2246
engine_name = 'xlsxwriter'
2236
2247
check_skip = staticmethod (_skip_if_no_xlsxwriter )
@@ -2283,7 +2294,7 @@ def test_column_format(self):
2283
2294
assert read_num_format == num_format
2284
2295
2285
2296
2286
- class OpenpyxlTests_NoMerge (ExcelWriterBase ):
2297
+ class TestOpenpyxlTests_NoMerge (ExcelWriterBase ):
2287
2298
ext = '.xlsx'
2288
2299
engine_name = 'openpyxl'
2289
2300
check_skip = staticmethod (_skip_if_no_openpyxl )
@@ -2292,7 +2303,7 @@ class OpenpyxlTests_NoMerge(ExcelWriterBase):
2292
2303
merge_cells = False
2293
2304
2294
2305
2295
- class XlwtTests_NoMerge (ExcelWriterBase ):
2306
+ class TestXlwtTests_NoMerge (ExcelWriterBase ):
2296
2307
ext = '.xls'
2297
2308
engine_name = 'xlwt'
2298
2309
check_skip = staticmethod (_skip_if_no_xlwt )
@@ -2301,7 +2312,7 @@ class XlwtTests_NoMerge(ExcelWriterBase):
2301
2312
merge_cells = False
2302
2313
2303
2314
2304
- class XlsxWriterTests_NoMerge (ExcelWriterBase ):
2315
+ class TestXlsxWriterTests_NoMerge (ExcelWriterBase ):
2305
2316
ext = '.xlsx'
2306
2317
engine_name = 'xlsxwriter'
2307
2318
check_skip = staticmethod (_skip_if_no_xlsxwriter )
@@ -2310,7 +2321,7 @@ class XlsxWriterTests_NoMerge(ExcelWriterBase):
2310
2321
merge_cells = False
2311
2322
2312
2323
2313
- class ExcelWriterEngineTests (object ):
2324
+ class TestExcelWriterEngineTests (object ):
2314
2325
2315
2326
def test_ExcelWriter_dispatch (self ):
2316
2327
with tm .assert_raises_regex (ValueError , 'No engine' ):
0 commit comments