|
28 | 28 | DEFAULT_DATETIME_FORMAT = "%s %s" % (DEFAULT_DATE_FORMAT, DEFAULT_TIME_FORMAT)
|
29 | 29 |
|
30 | 30 |
|
31 |
| -def is_integer_ok_for_xl_float(value): |
32 |
| - """check if a float value had zero value in digits""" |
33 |
| - return value == math.floor(value) |
34 |
| - |
35 |
| - |
36 |
| -def xldate_to_python_date(value): |
37 |
| - """ |
38 |
| - convert xl date to python date |
39 |
| - """ |
40 |
| - date_tuple = xlrd.xldate_as_tuple(value, 0) |
41 |
| - ret = None |
42 |
| - if date_tuple == (0, 0, 0, 0, 0, 0): |
43 |
| - ret = datetime.datetime(1900, 1, 1, 0, 0, 0) |
44 |
| - elif date_tuple[0:3] == (0, 0, 0): |
45 |
| - ret = datetime.time(date_tuple[3], |
46 |
| - date_tuple[4], |
47 |
| - date_tuple[5]) |
48 |
| - elif date_tuple[3:6] == (0, 0, 0): |
49 |
| - ret = datetime.date(date_tuple[0], |
50 |
| - date_tuple[1], |
51 |
| - date_tuple[2]) |
52 |
| - else: |
53 |
| - ret = datetime.datetime( |
54 |
| - date_tuple[0], |
55 |
| - date_tuple[1], |
56 |
| - date_tuple[2], |
57 |
| - date_tuple[3], |
58 |
| - date_tuple[4], |
59 |
| - date_tuple[5] |
60 |
| - ) |
61 |
| - return ret |
62 |
| - |
63 |
| - |
64 | 31 | class XLSheet(SheetReader):
|
65 | 32 | """
|
66 | 33 | xls, xlsx, xlsm sheet reader
|
@@ -242,6 +209,39 @@ def close(self):
|
242 | 209 | self.work_book.save(self.file_alike_object)
|
243 | 210 |
|
244 | 211 |
|
| 212 | +def is_integer_ok_for_xl_float(value): |
| 213 | + """check if a float value had zero value in digits""" |
| 214 | + return value == math.floor(value) |
| 215 | + |
| 216 | + |
| 217 | +def xldate_to_python_date(value): |
| 218 | + """ |
| 219 | + convert xl date to python date |
| 220 | + """ |
| 221 | + date_tuple = xlrd.xldate_as_tuple(value, 0) |
| 222 | + ret = None |
| 223 | + if date_tuple == (0, 0, 0, 0, 0, 0): |
| 224 | + ret = datetime.datetime(1900, 1, 1, 0, 0, 0) |
| 225 | + elif date_tuple[0:3] == (0, 0, 0): |
| 226 | + ret = datetime.time(date_tuple[3], |
| 227 | + date_tuple[4], |
| 228 | + date_tuple[5]) |
| 229 | + elif date_tuple[3:6] == (0, 0, 0): |
| 230 | + ret = datetime.date(date_tuple[0], |
| 231 | + date_tuple[1], |
| 232 | + date_tuple[2]) |
| 233 | + else: |
| 234 | + ret = datetime.datetime( |
| 235 | + date_tuple[0], |
| 236 | + date_tuple[1], |
| 237 | + date_tuple[2], |
| 238 | + date_tuple[3], |
| 239 | + date_tuple[4], |
| 240 | + date_tuple[5] |
| 241 | + ) |
| 242 | + return ret |
| 243 | + |
| 244 | + |
245 | 245 | _xls_reader_registry = {
|
246 | 246 | "file_type": "xls",
|
247 | 247 | "reader": XLSBook,
|
|
0 commit comments