|
6 | 6 | from distutils.version import LooseVersion
|
7 | 7 | from functools import partial
|
8 | 8 | from warnings import catch_warnings
|
| 9 | +from collections import OrderedDict |
9 | 10 |
|
10 | 11 | import numpy as np
|
11 | 12 | import pytest
|
@@ -315,19 +316,17 @@ def test_excel_table(self):
|
315 | 316 |
|
316 | 317 | def test_reader_special_dtypes(self):
|
317 | 318 |
|
318 |
| - expected = DataFrame({ |
319 |
| - "IntCol": [1, 2, -3, 4, 0], |
320 |
| - "FloatCol": [1.25, 2.25, 1.83, 1.92, 0.0000000005], |
321 |
| - "BoolCol": [True, False, True, True, False], |
322 |
| - "StrCol": [1, 2, 3, 4, 5], |
| 319 | + expected = DataFrame.from_dict(OrderedDict([ |
| 320 | + ("IntCol", [1, 2, -3, 4, 0]), |
| 321 | + ("FloatCol", [1.25, 2.25, 1.83, 1.92, 0.0000000005]), |
| 322 | + ("BoolCol", [True, False, True, True, False]), |
| 323 | + ("StrCol", [1, 2, 3, 4, 5]), |
323 | 324 | # GH5394 - this is why convert_float isn't vectorized
|
324 |
| - "Str2Col": ["a", 3, "c", "d", "e"], |
325 |
| - "DateCol": [datetime(2013, 10, 30), datetime(2013, 10, 31), |
326 |
| - datetime(1905, 1, 1), datetime(2013, 12, 14), |
327 |
| - datetime(2015, 3, 14)] |
328 |
| - }, columns=["IntCol", "FloatCol", "BoolCol", |
329 |
| - "StrCol", "Str2Col", "DateCol"]) |
330 |
| - |
| 325 | + ("Str2Col", ["a", 3, "c", "d", "e"]), |
| 326 | + ("DateCol", [datetime(2013, 10, 30), datetime(2013, 10, 31), |
| 327 | + datetime(1905, 1, 1), datetime(2013, 12, 14), |
| 328 | + datetime(2015, 3, 14)]) |
| 329 | + ])) |
331 | 330 | basename = 'test_types'
|
332 | 331 |
|
333 | 332 | # should read in correctly and infer types
|
@@ -364,12 +363,12 @@ def test_reader_converters(self):
|
364 | 363 |
|
365 | 364 | basename = 'test_converters'
|
366 | 365 |
|
367 |
| - expected = DataFrame({ |
368 |
| - "IntCol": [1, 2, -3, -1000, 0], |
369 |
| - "FloatCol": [12.5, np.nan, 18.3, 19.2, 0.000000005], |
370 |
| - "BoolCol": ['Found', 'Found', 'Found', 'Not found', 'Found'], |
371 |
| - "StrCol": ['1', np.nan, '3', '4', '5'], |
372 |
| - }, columns=['IntCol', 'FloatCol', 'BoolCol', 'StrCol']) |
| 366 | + expected = DataFrame.from_dict(OrderedDict([ |
| 367 | + ("IntCol", [1, 2, -3, -1000, 0]), |
| 368 | + ("FloatCol", [12.5, np.nan, 18.3, 19.2, 0.000000005]), |
| 369 | + ("BoolCol", ['Found', 'Found', 'Found', 'Not found', 'Found']), |
| 370 | + ("StrCol", ['1', np.nan, '3', '4', '5']), |
| 371 | + ])) |
373 | 372 |
|
374 | 373 | converters = {'IntCol': lambda x: int(x) if x != '' else -1000,
|
375 | 374 | 'FloatCol': lambda x: 10 * x if x else np.nan,
|
@@ -719,30 +718,30 @@ def test_reader_seconds(self):
|
719 | 718 |
|
720 | 719 | if LooseVersion(xlrd.__VERSION__) >= LooseVersion("0.9.3"):
|
721 | 720 | # Xlrd >= 0.9.3 can handle Excel milliseconds.
|
722 |
| - expected = DataFrame({"Time": [time(1, 2, 3), |
723 |
| - time(2, 45, 56, 100000), |
724 |
| - time(4, 29, 49, 200000), |
725 |
| - time(6, 13, 42, 300000), |
726 |
| - time(7, 57, 35, 400000), |
727 |
| - time(9, 41, 28, 500000), |
728 |
| - time(11, 25, 21, 600000), |
729 |
| - time(13, 9, 14, 700000), |
730 |
| - time(14, 53, 7, 800000), |
731 |
| - time(16, 37, 0, 900000), |
732 |
| - time(18, 20, 54)]}) |
| 721 | + expected = DataFrame.from_dict({"Time": [time(1, 2, 3), |
| 722 | + time(2, 45, 56, 100000), |
| 723 | + time(4, 29, 49, 200000), |
| 724 | + time(6, 13, 42, 300000), |
| 725 | + time(7, 57, 35, 400000), |
| 726 | + time(9, 41, 28, 500000), |
| 727 | + time(11, 25, 21, 600000), |
| 728 | + time(13, 9, 14, 700000), |
| 729 | + time(14, 53, 7, 800000), |
| 730 | + time(16, 37, 0, 900000), |
| 731 | + time(18, 20, 54)]}) |
733 | 732 | else:
|
734 | 733 | # Xlrd < 0.9.3 rounds Excel milliseconds.
|
735 |
| - expected = DataFrame({"Time": [time(1, 2, 3), |
736 |
| - time(2, 45, 56), |
737 |
| - time(4, 29, 49), |
738 |
| - time(6, 13, 42), |
739 |
| - time(7, 57, 35), |
740 |
| - time(9, 41, 29), |
741 |
| - time(11, 25, 22), |
742 |
| - time(13, 9, 15), |
743 |
| - time(14, 53, 8), |
744 |
| - time(16, 37, 1), |
745 |
| - time(18, 20, 54)]}) |
| 734 | + expected = DataFrame.from_dict({"Time": [time(1, 2, 3), |
| 735 | + time(2, 45, 56), |
| 736 | + time(4, 29, 49), |
| 737 | + time(6, 13, 42), |
| 738 | + time(7, 57, 35), |
| 739 | + time(9, 41, 29), |
| 740 | + time(11, 25, 22), |
| 741 | + time(13, 9, 15), |
| 742 | + time(14, 53, 8), |
| 743 | + time(16, 37, 1), |
| 744 | + time(18, 20, 54)]}) |
746 | 745 |
|
747 | 746 | actual = self.get_exceldf('times_1900', 'Sheet1')
|
748 | 747 | tm.assert_frame_equal(actual, expected)
|
|
0 commit comments