fix / -> 7
Showing
1 changed file
with
18 additions
and
1 deletions
... | @@ -2,6 +2,7 @@ import re | ... | @@ -2,6 +2,7 @@ import re |
2 | import random | 2 | import random |
3 | import locale | 3 | import locale |
4 | import numpy as np | 4 | import numpy as np |
5 | from datetime import datetime | ||
5 | from pandas._libs import tslib | 6 | from pandas._libs import tslib |
6 | from pandas._libs.tslibs.nattype import NaTType | 7 | from pandas._libs.tslibs.nattype import NaTType |
7 | from pandas.core.indexes.datetimes import DatetimeIndex | 8 | from pandas.core.indexes.datetimes import DatetimeIndex |
... | @@ -255,7 +256,7 @@ class BSWorkbook(Workbook): | ... | @@ -255,7 +256,7 @@ class BSWorkbook(Workbook): |
255 | date_col = date_col + 1 | 256 | date_col = date_col + 1 |
256 | for date_tuple_src in ws.iter_cols(min_col=date_col, max_col=date_col, min_row=min_row, values_only=True): | 257 | for date_tuple_src in ws.iter_cols(min_col=date_col, max_col=date_col, min_row=min_row, values_only=True): |
257 | date_tuple = [date[:10] if isinstance(date, str) else date for date in date_tuple_src] | 258 | date_tuple = [date[:10] if isinstance(date, str) else date for date in date_tuple_src] |
258 | dt_array, tz_parsed = tslib.array_to_datetime( | 259 | dt_array, _ = tslib.array_to_datetime( |
259 | np.array(date_tuple, copy=False, dtype=np.object_), | 260 | np.array(date_tuple, copy=False, dtype=np.object_), |
260 | errors="coerce", | 261 | errors="coerce", |
261 | utc=False, | 262 | utc=False, |
... | @@ -265,6 +266,22 @@ class BSWorkbook(Workbook): | ... | @@ -265,6 +266,22 @@ class BSWorkbook(Workbook): |
265 | ) | 266 | ) |
266 | dti = DatetimeIndex(dt_array, tz=None, name=None) | 267 | dti = DatetimeIndex(dt_array, tz=None, name=None) |
267 | 268 | ||
269 | rebuid = False | ||
270 | for idx, d in enumerate(dti): | ||
271 | try: | ||
272 | if isinstance(d, NaTType) and isinstance(date_tuple[idx], str): | ||
273 | match_obj = re.match(r'(\d{4})[7/](\d{2})[7/](\d{2})', date_tuple[idx]) | ||
274 | if match_obj: | ||
275 | dt_array[idx] = np.datetime64(datetime(int(match_obj.group(1)), | ||
276 | int(match_obj.group(2)), | ||
277 | int(match_obj.group(3)))) | ||
278 | rebuid = True | ||
279 | except Exception as e: | ||
280 | continue | ||
281 | |||
282 | if rebuid: | ||
283 | dti = DatetimeIndex(dt_array, tz=None, name=None) | ||
284 | |||
268 | month_list, idx_list = self.month_split(dti, date_list, date_statistics) | 285 | month_list, idx_list = self.month_split(dti, date_list, date_statistics) |
269 | 286 | ||
270 | if len(month_list) == 0: | 287 | if len(month_list) == 0: | ... | ... |
-
Please register or sign in to post a comment