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