From 532a846ec8d3e02deebb1f21ed36b17fe5ea02d2 Mon Sep 17 00:00:00 2001 From: Dimitra Karadima Date: Tue, 15 Mar 2022 15:33:07 +0200 Subject: [PATCH 1/4] BUG:error in reading a boolean column with blanks --- doc/source/whatsnew/v1.5.0.rst | 1 + pandas/core/arrays/boolean.py | 5 +++-- pandas/io/parsers/base_parser.py | 2 +- .../tests/io/data/excel/boolean_with_blanks.ods | Bin 0 -> 8984 bytes .../tests/io/data/excel/boolean_with_blanks.xls | Bin 0 -> 5632 bytes .../tests/io/data/excel/boolean_with_blanks.xlsm | Bin 0 -> 5297 bytes .../tests/io/data/excel/boolean_with_blanks.xlsx | Bin 0 -> 8754 bytes pandas/tests/io/excel/test_readers.py | 10 ++++++++++ 8 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 pandas/tests/io/data/excel/boolean_with_blanks.ods create mode 100644 pandas/tests/io/data/excel/boolean_with_blanks.xls create mode 100644 pandas/tests/io/data/excel/boolean_with_blanks.xlsm create mode 100644 pandas/tests/io/data/excel/boolean_with_blanks.xlsx diff --git a/doc/source/whatsnew/v1.5.0.rst b/doc/source/whatsnew/v1.5.0.rst index 8dac952874f89..70d17841fb5fd 100644 --- a/doc/source/whatsnew/v1.5.0.rst +++ b/doc/source/whatsnew/v1.5.0.rst @@ -429,6 +429,7 @@ I/O - Bug in :func:`DataFrame.to_excel` and :class:`ExcelWriter` would raise when writing an empty DataFrame to a ``.ods`` file (:issue:`45793`) - Bug in Parquet roundtrip for Interval dtype with ``datetime64[ns]`` subtype (:issue:`45881`) - Bug in :func:`read_excel` when reading a ``.ods`` file with newlines between xml elements(:issue:`45598`) +- Bug in :func:`read_excel` when reading a ``.xlsx`` file with a boolean column that contains blank lines(:issue:`45903`) Period ^^^^^^ diff --git a/pandas/core/arrays/boolean.py b/pandas/core/arrays/boolean.py index 5294b4061ad44..29015e0b6d35c 100644 --- a/pandas/core/arrays/boolean.py +++ b/pandas/core/arrays/boolean.py @@ -294,6 +294,7 @@ class BooleanArray(BaseMaskedArray): # Fill values used for any/all _truthy_value = True _falsey_value = False + _NONE_VALUES = {"nan", "NaN", "None", "NA", "null", "NULL"} _TRUE_VALUES = {"True", "TRUE", "true", "1", "1.0"} _FALSE_VALUES = {"False", "FALSE", "false", "0", "0.0"} @@ -326,8 +327,8 @@ def _from_sequence_of_strings( false_values_union = cls._FALSE_VALUES.union(false_values or []) def map_string(s): - if isna(s): - return s + if isna(s) or s in cls._NONE_VALUES: + return None elif s in true_values_union: return True elif s in false_values_union: diff --git a/pandas/io/parsers/base_parser.py b/pandas/io/parsers/base_parser.py index e071e281d5a90..be090d9fbc0d7 100644 --- a/pandas/io/parsers/base_parser.py +++ b/pandas/io/parsers/base_parser.py @@ -781,7 +781,7 @@ def _cast_types(self, values, cast_type, column): try: if is_bool_dtype(cast_type): return array_type._from_sequence_of_strings( - values, + values.astype(str), dtype=cast_type, true_values=self.true_values, false_values=self.false_values, diff --git a/pandas/tests/io/data/excel/boolean_with_blanks.ods b/pandas/tests/io/data/excel/boolean_with_blanks.ods new file mode 100644 index 0000000000000000000000000000000000000000..bab1348052e09df8833262c0c9d1cdf636a7ac6b GIT binary patch literal 8984 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 literal 0 HcmV?d00001 diff --git a/pandas/tests/io/data/excel/boolean_with_blanks.xls b/pandas/tests/io/data/excel/boolean_with_blanks.xls new file mode 100644 index 0000000000000000000000000000000000000000..4195d8be9d2f6dc730b7c4ab3315265c1b8cd097 GIT binary patch literal 5632 zcmeHLU2IfE6h3#m+ur^_x8+AHw60ZXp@p;|L5#r`cB>`PKxom#kjS#VZP#wQn{7+z zgK<%KF_K_-@TG|%>4S;JpJ*`gC$?`qXyk=NjSqzwgTaTDV3fpm{l0VWmF>D)wo*+n zJ=<@7&dixJbLPyMxxMst&FuLP>aIu*JtieGpDCBpEWUxV>DK)s9+b(O&tx(#8^sm6 zhb%DX%$0lS#U}ay?s*wNUb&OsLrYqj>Jlt)NaFa7NkF<}1bI>>u;azkdU#B>x?&`= z<3%z3@6=~S|7{E0$yRL7wm;)H<9G>>d;S^gdHySaN}vi@1*`_D0bBu61JnX*fVIFn zU_EdjumQLqr~{~TlasUj0LlU2L5KGc@`r)Vz!snhV80dmcP&tEVi!w&^69EC8S*vu zUx7!w@10SXg84 zWPFj_G&*(eXEbfpbTv{#K319Ul+!K^@;&;Sa#jz4A!SBT!V;6H977z8N;^FFB6?(A z(jF-JjJ?{zUU$>l;H{D=-my(_;Dh7vgi& zeEt8w{3+Npz~wpQ+PTHHLpqngwE(}h0DoHne)-?{=R7!9DakPRr%E)hNtJ3|oAPSD zCRL{S+LSMIRQ>lf&cJa9^0f90TGm+mYdD_>M&*U0_?zu;b3+cJ#grFy* z(n22Bn=L!1H?w^g(-$`ANRD<%cc>1`t=?c8M|9il7WzWH%5h}3EnDtqImjJJccUG< zk*4)^>JX@wl60HOdDG3xFHhU+LnVtmQlWD6J$_w0?x~dv`dQhT)vKQ4v6%{d+HnBR zHgJ2tF{cpc+N=ws+-_qJ2 z0q!nzqs*N<=vmpa`7axH(}bYr&u8^#WicS0GKSu8|_)=yoY%U@ld+_BMr?hUNJ_13!~@O(ME zBj7QzQ3>G(D9g2(V7UH6Te1D3(|!qg2`~%LhSvbPUmBoe{0``Y2turLOxkj9BJqrs z9F4|DRGelF#UnjdWIP!io6w;cNV_KzRx%bH85#`^hDQdhJ{_C^;VCi?Cwk+d@R;p` z+^U{PIA#Tt@q{YnCiV=5lNN?X(OnPsitB0LwWDokTboV*Rh`#jIok@+a(@4*{d3M> zKE1TNdxW3G*Jo0O@Z#ck=up1yi}Gq=9omO`=thS{1)RoDxTzpRg3vpR7w!Sf;RTzy zgp~TZ9_l6)Bg(k6-|1*TZ%nLW#Pas3fPP!Eo#yS7!>mW0wqXo%<>Ed39}(&n@KAFRI-y8Gy?%S21H OfA;tHa!lcF^#2J1tSM;# literal 0 HcmV?d00001 diff --git a/pandas/tests/io/data/excel/boolean_with_blanks.xlsm b/pandas/tests/io/data/excel/boolean_with_blanks.xlsm new file mode 100644 index 0000000000000000000000000000000000000000..698b539c657d7f031aa87a2aab6c074a3adf0310 GIT binary patch literal 5297 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 literal 0 HcmV?d00001 diff --git a/pandas/tests/io/data/excel/boolean_with_blanks.xlsx b/pandas/tests/io/data/excel/boolean_with_blanks.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..010deecf483ac6fdb734f4014eb5ceba28fdd570 GIT binary patch literal 8754 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 literal 0 HcmV?d00001 diff --git a/pandas/tests/io/excel/test_readers.py b/pandas/tests/io/excel/test_readers.py index 1e0f74ea41453..7c1167cfdb180 100644 --- a/pandas/tests/io/excel/test_readers.py +++ b/pandas/tests/io/excel/test_readers.py @@ -1332,6 +1332,16 @@ def test_euro_decimal_format(self, read_ext): ) tm.assert_frame_equal(result, expected) + def test_read_boolean_column_with_blanks(self, read_ext): + # GH 45903 + result = pd.read_excel( + "boolean_with_blanks" + read_ext, dtype={"var1": "boolean"} + ) + expected = DataFrame( + [[True], [False], [None], [True]], columns=["var1"], dtype="boolean" + ) + tm.assert_frame_equal(result, expected) + class TestExcelFileRead: @pytest.fixture(autouse=True) From 4d2a6f5b0d48e2ddd8811d3b44bcbcd354e390e0 Mon Sep 17 00:00:00 2001 From: Dimitra Karadima Date: Tue, 15 Mar 2022 18:08:36 +0200 Subject: [PATCH 2/4] TST: add xlsb file because of failing test --- .../tests/io/data/excel/boolean_with_blanks.xlsb | Bin 0 -> 6508 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pandas/tests/io/data/excel/boolean_with_blanks.xlsb diff --git a/pandas/tests/io/data/excel/boolean_with_blanks.xlsb b/pandas/tests/io/data/excel/boolean_with_blanks.xlsb new file mode 100644 index 0000000000000000000000000000000000000000..10ca0f9e97d04db890206a2571d970209cf89e68 GIT binary patch literal 6508 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 aTTc`ByUGVZFmE(Q7DZut89Cs;5Bwj+t2u1| literal 0 HcmV?d00001 From cf32733b11f13b0dcdc9bdada80dabe5de3a1fdd Mon Sep 17 00:00:00 2001 From: dimitra-karadima <44123133+dimitra-karadima@users.noreply.github.com> Date: Mon, 11 Apr 2022 12:27:06 +0300 Subject: [PATCH 3/4] Update doc/source/whatsnew/v1.5.0.rst Co-authored-by: Marc Garcia --- doc/source/whatsnew/v1.5.0.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/whatsnew/v1.5.0.rst b/doc/source/whatsnew/v1.5.0.rst index 70d17841fb5fd..9951d3dcbbc5d 100644 --- a/doc/source/whatsnew/v1.5.0.rst +++ b/doc/source/whatsnew/v1.5.0.rst @@ -429,7 +429,7 @@ I/O - Bug in :func:`DataFrame.to_excel` and :class:`ExcelWriter` would raise when writing an empty DataFrame to a ``.ods`` file (:issue:`45793`) - Bug in Parquet roundtrip for Interval dtype with ``datetime64[ns]`` subtype (:issue:`45881`) - Bug in :func:`read_excel` when reading a ``.ods`` file with newlines between xml elements(:issue:`45598`) -- Bug in :func:`read_excel` when reading a ``.xlsx`` file with a boolean column that contains blank lines(:issue:`45903`) +- Bug in :func:`read_excel` when reading a ``.xlsx`` file with a boolean column that contains blank lines (:issue:`45903`) Period ^^^^^^ From 5af0af4d8b58af735e3461fc191d00813c01ada5 Mon Sep 17 00:00:00 2001 From: Dimitra Karadima Date: Mon, 11 Apr 2022 13:43:41 +0300 Subject: [PATCH 4/4] TST: update unit tests for bool with blank --- .../io/data/excel/boolean_with_blanks.ods | Bin 8984 -> 0 bytes .../io/data/excel/boolean_with_blanks.xls | Bin 5632 -> 0 bytes .../io/data/excel/boolean_with_blanks.xlsb | Bin 6508 -> 0 bytes .../io/data/excel/boolean_with_blanks.xlsm | Bin 5297 -> 0 bytes .../io/data/excel/boolean_with_blanks.xlsx | Bin 8754 -> 0 bytes pandas/tests/io/data/excel/test_types.ods | Bin 3489 -> 12260 bytes pandas/tests/io/data/excel/test_types.xls | Bin 26112 -> 6656 bytes pandas/tests/io/data/excel/test_types.xlsb | Bin 8053 -> 6338 bytes pandas/tests/io/data/excel/test_types.xlsm | Bin 9042 -> 5702 bytes pandas/tests/io/data/excel/test_types.xlsx | Bin 9010 -> 5686 bytes pandas/tests/io/excel/test_readers.py | 12 ++---------- 11 files changed, 2 insertions(+), 10 deletions(-) delete mode 100644 pandas/tests/io/data/excel/boolean_with_blanks.ods delete mode 100644 pandas/tests/io/data/excel/boolean_with_blanks.xls delete mode 100644 pandas/tests/io/data/excel/boolean_with_blanks.xlsb delete mode 100644 pandas/tests/io/data/excel/boolean_with_blanks.xlsm delete mode 100644 pandas/tests/io/data/excel/boolean_with_blanks.xlsx diff --git a/pandas/tests/io/data/excel/boolean_with_blanks.ods b/pandas/tests/io/data/excel/boolean_with_blanks.ods deleted file mode 100644 index bab1348052e09df8833262c0c9d1cdf636a7ac6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8984 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 diff --git a/pandas/tests/io/data/excel/boolean_with_blanks.xls b/pandas/tests/io/data/excel/boolean_with_blanks.xls deleted file mode 100644 index 4195d8be9d2f6dc730b7c4ab3315265c1b8cd097..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5632 zcmeHLU2IfE6h3#m+ur^_x8+AHw60ZXp@p;|L5#r`cB>`PKxom#kjS#VZP#wQn{7+z zgK<%KF_K_-@TG|%>4S;JpJ*`gC$?`qXyk=NjSqzwgTaTDV3fpm{l0VWmF>D)wo*+n zJ=<@7&dixJbLPyMxxMst&FuLP>aIu*JtieGpDCBpEWUxV>DK)s9+b(O&tx(#8^sm6 zhb%DX%$0lS#U}ay?s*wNUb&OsLrYqj>Jlt)NaFa7NkF<}1bI>>u;azkdU#B>x?&`= z<3%z3@6=~S|7{E0$yRL7wm;)H<9G>>d;S^gdHySaN}vi@1*`_D0bBu61JnX*fVIFn zU_EdjumQLqr~{~TlasUj0LlU2L5KGc@`r)Vz!snhV80dmcP&tEVi!w&^69EC8S*vu zUx7!w@10SXg84 zWPFj_G&*(eXEbfpbTv{#K319Ul+!K^@;&;Sa#jz4A!SBT!V;6H977z8N;^FFB6?(A z(jF-JjJ?{zUU$>l;H{D=-my(_;Dh7vgi& zeEt8w{3+Npz~wpQ+PTHHLpqngwE(}h0DoHne)-?{=R7!9DakPRr%E)hNtJ3|oAPSD zCRL{S+LSMIRQ>lf&cJa9^0f90TGm+mYdD_>M&*U0_?zu;b3+cJ#grFy* z(n22Bn=L!1H?w^g(-$`ANRD<%cc>1`t=?c8M|9il7WzWH%5h}3EnDtqImjJJccUG< zk*4)^>JX@wl60HOdDG3xFHhU+LnVtmQlWD6J$_w0?x~dv`dQhT)vKQ4v6%{d+HnBR zHgJ2tF{cpc+N=ws+-_qJ2 z0q!nzqs*N<=vmpa`7axH(}bYr&u8^#WicS0GKSu8|_)=yoY%U@ld+_BMr?hUNJ_13!~@O(ME zBj7QzQ3>G(D9g2(V7UH6Te1D3(|!qg2`~%LhSvbPUmBoe{0``Y2turLOxkj9BJqrs z9F4|DRGelF#UnjdWIP!io6w;cNV_KzRx%bH85#`^hDQdhJ{_C^;VCi?Cwk+d@R;p` z+^U{PIA#Tt@q{YnCiV=5lNN?X(OnPsitB0LwWDokTboV*Rh`#jIok@+a(@4*{d3M> zKE1TNdxW3G*Jo0O@Z#ck=up1yi}Gq=9omO`=thS{1)RoDxTzpRg3vpR7w!Sf;RTzy zgp~TZ9_l6)Bg(k6-|1*TZ%nLW#Pas3fPP!Eo#yS7!>mW0wqXo%<>Ed39}(&n@KAFRI-y8Gy?%S21H OfA;tHa!lcF^#2J1tSM;# diff --git a/pandas/tests/io/data/excel/boolean_with_blanks.xlsb b/pandas/tests/io/data/excel/boolean_with_blanks.xlsb deleted file mode 100644 index 10ca0f9e97d04db890206a2571d970209cf89e68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6508 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 aTTc`ByUGVZFmE(Q7DZut89Cs;5Bwj+t2u1| diff --git a/pandas/tests/io/data/excel/boolean_with_blanks.xlsm b/pandas/tests/io/data/excel/boolean_with_blanks.xlsm deleted file mode 100644 index 698b539c657d7f031aa87a2aab6c074a3adf0310..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5297 zcmaJ_1z3}P_Z}$S-6I5~l+mS9QX?Fb6cCBgY?RcbL6A-nM5IF{R6vjrq*Don0Zu`h zjTV&rZ@%yK!RP;b-}79n>)JWb^Se*o=RkDNoo57)l9B?#gWyJhGeUv;ZtVqg^A^91 zf3HYwGiV1<-d{(?itNdJQ6bGQY1Gqh(Z0%lWpr=fD)t=}X9CB=1 zjMjsTp+SPWw;vdrKOk%tv^^w_8Wz;h|8+f`nvD{qtxuQ9yRg>7Jo+Y)_b9!8`OzbWw+#zk z9=1EggH802AV(jh{)HfIy|t%ITvFEHxLdi0{R<2bT@uo$Z0YPZ90)^%00874VWPqP z!{1HZ58>r%i$J(u_IGznxH;uD38D>JH}&74Zt)NXJ))HHPt8IL7WKY%t9ltL7EmOh zqIk4d3Ck%Ny|zP8)Vzd2efd5=*zgc7#VT48Yc5auh(u&O3Ucr$2&qjXwO~H?>>E@x z21O*+Xx?m*Tccoqi~CAomD_+whr`T)Y*pTZZy5)KQMk5TA=P=e#hr5Fy$QffSD8G# z+}b$W5|Q5zovR-H^^!P>D~6yqWnu~}{jlO;aq`B5%-m+luL0MBCmvZ+AwR$e z&o?D=xfAulC<)Pq8kGc-{T+b=Y6Ym4C3t~}lQ)Ot`?Yx*(u8y!SPx1ONR)$F_jgt7 zuyF5)GwGSXEO)E#QNF_M=X8dQzuxgR`a)=~yl&n;X)<>}{rv zZpKh!xQNmdo~Ya?rY!z02VS8&Yq34NyPz?+!8Qx&{Vj$dqwBnG3T#5k%i%nqBYhLz zU0!rSsPJ7(ZRa6<&&)FPbGSgM3Ywa|7SgK|JD_rrr&M5pD zpqg>Ze?;UBl|ak;kEH4rNb5~4*P^TvEA%W<$72<$)KyRJEVjxug#!0L>yTc)qL12Y7XiB(_I$1k?NU}Eg1|*dnEK8E4 zEgp-R6OXADz3F=+GLKkc#8{LLE&Ar)->8PJ!Zv~j^b#G=px1k7#cYMYFI4xy&Q5Ym z`sla3X+4_0!MWsV%VS3=^v2IM>g@>cd)4a_!5Qm{-21<@R@cAjt=}!?v`pTAHM9ZH z*nP$}v%VWRM3P}4#wMp%pYlexKE+t$^JW_=#$#WQ;Aki0M-eJU8ktdJ6dPN!tgv`t zXy-uFu| zc7nltyv2WiNZ>=g*+d^PB~RPDUd7`-33SoX!RiyDG?K@#gm9~|Ugo6)X5l!}P8*#* z_|~eQc95C=TaD`I^Q0=&z1?z%GP$9z$7M_?idFt4g+W1K0X3G^V)WoLc5v$lo4}CN zU>4z}g`L~-`@Wl6!2sl<2=5hD0Cu5f3vJ2&Kvcv~N{--ybY=P-*9A`(zXwt#ARx^r z5e1!5bEs6gbDW3G(+C2XFoh?T#!U*W1+6IKw)R)!k$NDOB!n6G1`}GodryR}WSN%2!gh~HSQLqKlMNxGxem1wg;jFsK(3)O9Nbx@rUZiNvIV4Jc96g(ew zM9R4em7G6c$yUd}F@w;z+>_g2J9p&uswZu2gKv>ufD(4mB;7kO%gWNAJ+Xd2UaLT7m+@qfG2SHS8rp)c1f{>Tj?#x%J-4`|7Cm4B+ z)f6)HZ|h$CoM7tTyU>CTX9v^^nHS#63mp%`en;A0DOKz#r={1cp9KpsjT9A;B2P3A zQ5;|(U`4-;F*dz;+38pq7{W>ARXK50+VCM<<{qU*Xd^9oy|WN>fUn2Z?5Bq!b2=z~ zO{3dEHusIzg99|Pz3&TC05IubMC^N98`KY+M{X^!_bDe=zoc|=8DpIh^6b7&Ez`cDZ~py)->wH#>P6i{3mRD-f3^!Ctaa9)Y3dxk;YPdSF)g3;+Aa% zs(N{$AKR#GJ+H&|)8X9$a=+l-jgWr7fQCsN27}Ft|kqv@!x(?Kvk0VPSFn2 zwZ!2W*#K`Vymj;?w4GZ(AoS!1RMID=D^G&WMsADX%Q9yMXVx9zitVdtj9c_aMkyX2LuzAWaJq9nyI3&*3&@&`)1sYJ9A+oM>OpBOITe%$9 zrUpAf&L3=+u`xQunnI#Y*2AB=#>*Ipalc;WMnNK6FKm7%%i5XczCgsv7Mn#Raf>d~ zQ2ag2+%~KxiG@?)$BfM4`fm4lV^7$2UH1%|+5bxHzo_9^+VdApOwo7!O%sopH1|4nNbKU}o8wihj(!q!8P0y}kWKwu zdlGz^!-5=!`Iz=`e7i;a$BJ~qN=%13CGoR@^HFV`zNF1zM{C#_Hj}{u^fxDgq-t*Z z=S>U~p)5M$w_b0{n_sqlpR8n6)C)E!AMbq|fi)EG-_jY)AsA%3Sz&Rm1}+L|^nQO* zZ8uIuZC!|b3hJRE8}tIENDV`iY`=+$OOouk|C+x#ugu3aaiOm&;weeY~9Ej=wv* zOrk#ddk}5ZUM}AN+F(_!sAySj<9uLfa-!@T&s-N*@B#J+JBSy;!&}@A;RXB6cA@?72oP=4o@ny=9UlD* zJ{~Byf(*2{$mP>xSJ{qBvJc(Ww)SLbr)zriQ)wEdzN4(FMt|j+qN&pzYI`7zkv->B zSHmAjs*A5iDXZtoUS}+NMr6MPU?1Fmp57PvnLO9{k}4bVRbHt9SzcRvLYhmMpArMnjH)#>fApX1eRl!-y`}?EOxPbN1GJQVzqg%BOP92{Q7J zMiS1L%iFn!L=#PX1#X!3MV`Y$VQ+X8nrtS0YPJx;oj=fFBBAS*jy1ZuVO-&Nj5;2l*udw_Dmk;~P8jYQhB zj)__`WQWSJj(r%$+us5pLC~s!`gR3-T8pFVYsuq3=>!>Sd!xZ7J#Dp2C+<3Y&!S!A-W-@+YY1y!x)eX`>T<||$0_^ek4q~!6asNr{c}JwoW;rR zuD1`u9S>FQs6HYb#7eSpaE)l0%K~CVd52M22~*vXi8PIsj;M2f&SAd$#q|Etu>I)N zXy#!EHcd7=92r+jGK!#%fR) z>!(EhZ;Hgl5?;jlf&vvUffF#eDS5t&8wSFaCq%C4B-rz^WLkwgUxHuD{W`W!mvd>$ z;o|mqk7e?%PvATEqCwpPZ~yO%wKf5iEw6Y6Ujc|J-;v)OS4WRfMbC6-+>AUdep=by zxxyj;>I>#v^!G{hJ>L12)wF~wS>^)DHHHu5fO))XbWH{t)hs8@G{~vj9_qb@5~Duy z90FXNi6) z(!D__LEEw|DvOk9B%3F#VL>EqHb)or%az=H=BniAMeC2!oJUzM*74*u_Rf&ii$<#*#~SPb-3qvdpUj z@~o{TyE}6-TPqvCa0tF2yQ9X;r=_^0+!`;wk{oa1GrdB8MSpFoMaZ~ly5SZXux!9K z1KSx;wh8cXo=a@R^qU*>l#qzdZ>;zcIrec86x+S>Z{gltyQ5qrOuLZPh0Tbx9|-cF z&1Rpl(0ji{v4|?Id4`Jqv0YxfeYi1EnB7HbLb$>y8k+2SxrvMIT1A+PW!42S>t~s7 z+&;cg6iSaQ*+fiQ)yoH1?MEv~2Lxgj1 ztl$2NfFzQqc&Aynlt6rNPHQ2;rwsuiBj9v7bao$tUk?4ZoLLq9sd#oE#;;3G!pZos5;p9&%XL~=M`wmY4 zKef-MGd^igWsdrc_GuCQ)4@~ diff --git a/pandas/tests/io/data/excel/boolean_with_blanks.xlsx b/pandas/tests/io/data/excel/boolean_with_blanks.xlsx deleted file mode 100644 index 010deecf483ac6fdb734f4014eb5ceba28fdd570..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8754 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 diff --git a/pandas/tests/io/data/excel/test_types.ods b/pandas/tests/io/data/excel/test_types.ods index c9a82bfff810bca9bf129961f8eb0c8a72ef244c..881c89c1f42dba77ac1a1d4a85fa16290f813c47 100644 GIT binary patch literal 12260 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 Gv;PJCMP^n2 literal 3489 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 diff --git a/pandas/tests/io/data/excel/test_types.xlsb b/pandas/tests/io/data/excel/test_types.xlsb index e7403aa288263456f3468a721206ad1ab786b586..9c5ecddb7dff770522ac61d67d54d4c574802480 100644 GIT binary patch literal 6338 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 u_&vSFa2mq)+ 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 voA$SPB7^M{ literal 9042 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 diff --git a/pandas/tests/io/data/excel/test_types.xlsx b/pandas/tests/io/data/excel/test_types.xlsx index 561bb2c5d6714cac96aea28a2463a4795aea6427..b6f3ae43b80604722a17027f6f12733fe874d5fb 100644 GIT binary patch literal 5686 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 J8uibA{|8S^yfgp+ diff --git a/pandas/tests/io/excel/test_readers.py b/pandas/tests/io/excel/test_readers.py index 7c1167cfdb180..2600f674fc6e7 100644 --- a/pandas/tests/io/excel/test_readers.py +++ b/pandas/tests/io/excel/test_readers.py @@ -420,8 +420,10 @@ def test_reader_special_dtypes(self, request, read_ext): datetime(2013, 12, 14), datetime(2015, 3, 14), ], + "BoolColWithBlank": [True, False, None, True, False], }, ) + basename = "test_types" # should read in correctly and infer types @@ -1332,16 +1334,6 @@ def test_euro_decimal_format(self, read_ext): ) tm.assert_frame_equal(result, expected) - def test_read_boolean_column_with_blanks(self, read_ext): - # GH 45903 - result = pd.read_excel( - "boolean_with_blanks" + read_ext, dtype={"var1": "boolean"} - ) - expected = DataFrame( - [[True], [False], [None], [True]], columns=["var1"], dtype="boolean" - ) - tm.assert_frame_equal(result, expected) - class TestExcelFileRead: @pytest.fixture(autouse=True)