@@ -53,23 +53,6 @@ def read_excel(path_or_buf, sheetname, kind=None, **kwds):
53
53
return ExcelFile (path_or_buf , kind = kind ).parse (sheetname = sheetname ,
54
54
kind = kind , ** kwds )
55
55
56
- def excel_value_to_python_value (value , typ , datemode ):
57
- from xlrd import (xldate_as_tuple , XL_CELL_DATE ,
58
- XL_CELL_ERROR , XL_CELL_BOOLEAN )
59
-
60
- if typ == XL_CELL_DATE :
61
- dt = xldate_as_tuple (value , datemode )
62
- # how to produce this first case?
63
- if dt [0 ] < datetime .MINYEAR : # pragma: no cover
64
- value = datetime .time (* dt [3 :])
65
- else :
66
- value = datetime .datetime (* dt )
67
- elif typ == XL_CELL_ERROR :
68
- value = np .nan
69
- elif typ == XL_CELL_BOOLEAN :
70
- value = bool (value )
71
-
72
- return value
73
56
74
57
class ExcelFile (object ):
75
58
"""
@@ -191,6 +174,8 @@ def _parse_excel(self, sheetname, header=0, skiprows=None, skip_footer=0,
191
174
index_col = None , has_index_names = None , parse_cols = None ,
192
175
parse_dates = False , date_parser = None , na_values = None ,
193
176
thousands = None , chunksize = None , ** kwds ):
177
+ from xlrd import (xldate_as_tuple , XL_CELL_DATE ,
178
+ XL_CELL_ERROR , XL_CELL_BOOLEAN )
194
179
195
180
datemode = self .book .datemode
196
181
if isinstance (sheetname , compat .string_types ):
@@ -208,7 +193,17 @@ def _parse_excel(self, sheetname, header=0, skiprows=None, skip_footer=0,
208
193
should_parse [j ] = self ._should_parse (j , parse_cols )
209
194
210
195
if parse_cols is None or should_parse [j ]:
211
- value = excel_value_to_python_value (value = value , typ = typ , datemode = datemode )
196
+ if typ == XL_CELL_DATE :
197
+ dt = xldate_as_tuple (value , datemode )
198
+ # how to produce this first case?
199
+ if dt [0 ] < datetime .MINYEAR : # pragma: no cover
200
+ value = datetime .time (* dt [3 :])
201
+ else :
202
+ value = datetime .datetime (* dt )
203
+ elif typ == XL_CELL_ERROR :
204
+ value = np .nan
205
+ elif typ == XL_CELL_BOOLEAN :
206
+ value = bool (value )
212
207
row .append (value )
213
208
214
209
data .append (row )
0 commit comments