From f0ee057636f3d054efc3e379b9f8c7476b74f363 Mon Sep 17 00:00:00 2001 From: Andrew Hawryluk Date: Wed, 3 Mar 2021 20:52:49 -0700 Subject: [PATCH 1/3] BUG: read_excel skips single-column empty rows --- doc/source/whatsnew/v1.3.0.rst | 1 + pandas/io/excel/_base.py | 1 + .../tests/io/data/excel/one_col_blank_line.ods | Bin 0 -> 2882 bytes .../tests/io/data/excel/one_col_blank_line.xls | Bin 0 -> 25600 bytes .../tests/io/data/excel/one_col_blank_line.xlsb | Bin 0 -> 7992 bytes .../tests/io/data/excel/one_col_blank_line.xlsm | Bin 0 -> 8650 bytes .../tests/io/data/excel/one_col_blank_line.xlsx | Bin 0 -> 8637 bytes pandas/tests/io/excel/test_readers.py | 7 +++++++ 8 files changed, 9 insertions(+) create mode 100644 pandas/tests/io/data/excel/one_col_blank_line.ods create mode 100644 pandas/tests/io/data/excel/one_col_blank_line.xls create mode 100644 pandas/tests/io/data/excel/one_col_blank_line.xlsb create mode 100644 pandas/tests/io/data/excel/one_col_blank_line.xlsm create mode 100644 pandas/tests/io/data/excel/one_col_blank_line.xlsx diff --git a/doc/source/whatsnew/v1.3.0.rst b/doc/source/whatsnew/v1.3.0.rst index f7204ceb9d412..71edd45301e7c 100644 --- a/doc/source/whatsnew/v1.3.0.rst +++ b/doc/source/whatsnew/v1.3.0.rst @@ -488,6 +488,7 @@ I/O - :meth:`read_sql` returned an empty generator if ``chunksize`` was no-zero and the query returned no results. Now returns a generator with a single empty dataframe (:issue:`34411`) - Bug in :func:`read_hdf` returning unexpected records when filtering on categorical string columns using ``where`` parameter (:issue:`39189`) - Bug in :func:`read_sas` raising ``ValueError`` when ``datetimes`` were null (:issue:`39725`) +- Bug in :func:`read_excel` dropping empty values from single-column spreadsheets (:issue:`39808`) Period ^^^^^^ diff --git a/pandas/io/excel/_base.py b/pandas/io/excel/_base.py index 9ad589d4583c6..f7672cb576fba 100644 --- a/pandas/io/excel/_base.py +++ b/pandas/io/excel/_base.py @@ -598,6 +598,7 @@ def parse( skiprows=skiprows, nrows=nrows, na_values=na_values, + skip_blank_lines=False, parse_dates=parse_dates, date_parser=date_parser, thousands=thousands, diff --git a/pandas/tests/io/data/excel/one_col_blank_line.ods b/pandas/tests/io/data/excel/one_col_blank_line.ods new file mode 100644 index 0000000000000000000000000000000000000000..df5fbcfaa0357a3b69606bc2b003dd36d6b0f389 GIT binary patch literal 2882 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 Rx%O5#+4TsUjC|jX^IxUg^cDaB literal 0 HcmV?d00001 diff --git a/pandas/tests/io/data/excel/one_col_blank_line.xls b/pandas/tests/io/data/excel/one_col_blank_line.xls new file mode 100644 index 0000000000000000000000000000000000000000..dcf2ebecded612f49ecbefc9e1489b27824a1064 GIT binary patch literal 25600 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 literal 0 HcmV?d00001 diff --git a/pandas/tests/io/data/excel/one_col_blank_line.xlsb b/pandas/tests/io/data/excel/one_col_blank_line.xlsb new file mode 100644 index 0000000000000000000000000000000000000000..9257d016c762a1cebffbbf28670eb311967b9dd9 GIT binary patch literal 7992 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 literal 0 HcmV?d00001 diff --git a/pandas/tests/io/data/excel/one_col_blank_line.xlsm b/pandas/tests/io/data/excel/one_col_blank_line.xlsm new file mode 100644 index 0000000000000000000000000000000000000000..c249901ecc10e1ebac33e4676be6a56e1d96a0ec GIT binary patch literal 8650 zcmeHsg;!fy_jYinXrT~_yL)kpJHe$m1Ph+vR@|Xb+@ZA4A_a=JI1~c3#fv)>FYXk6 z>AW-F%yj1a3*PtMm3vlJ?z7j)InT5A*?WUjQBX+$=m1Or06+_%t!nahMFIf)Pyqm9 z04DMiSyvYr*ac>;>+1%FnsWI#JJA%QBC`|%kP+|y@A@xZfr`{Yjcy(S`E#Wk*)`7C z`C4gA!9C;wA~r3_j(TQw-S#zi)vI&0(I`OL{c)G0+Kv1j_bQARz1dD^gphsguNxBS zAv$K0E@su|ThO2(KDAK?hnBF=N~CFfpFqLPDijNa349#=mn09vrS(G6;DG=|`j<)i zOnwPa!V+V+Nc61Pz6Q%aQB!KEei$BxCTQTL@^n+t5G6AqZtbo+e+`&aEz-h~kywP3 zy)+nf#2KOk7RD$SUBa8TSfMGRx}>VE^ndxa$5>Vl`P@q{P#K zH%cL7*$|1rIC-D2XkOJLwH!DK7nj1*;tLnGOK?r*It=!#CG9^jjbM~i$Xx`J zd0E<*A4|&+=-^#H0$xp@$qh_TJ4XriQ=A|*Y-%JfGb1Q=cZUK1{Y|I!dOY+eh+otY zGQ>gX)Z7E?1m))X`TUcTWs9CXaLl z_lo5nLa&L_iL)$46<-#w)+Dy_rm`Z{{zZC)u|v5Uf*~#g3M}H6z{vX&Ss})~>P8Dz z7gb0TGCF&ek=2dDh1<`Ea)Kw*Uv1$@MT@BIj%JaQ z4^cW_a~r3QW4WAm;vWH=8o6+7Isu{!z9Gdv#=_HJ<2r%E!93p{VXW?Q_(6YY9Cg_O zB4qtjB%xXXR(2==fHfkv-9xO5j}y1Is|Uo&)fMtHkX7hCaeeWKB*@(17G)(b6pJ8K zMREC6<#^&7p|LhOie`&g(vEoNY~6{QbCJkr3;N|wcF>xdz>AwaXq$CG(7a&%nNm|> z1)e9&YKy`Fsy}>2JKp}5uX|FE*8Ry+c0I#*LG*BYe&FQ}Z1Cb+eoX>8pc3;`Wq^xE zJ=vh7b0yrfBqA;45M7o02tx;!yCkC<4u2)&Jb3g8eN3O45IG1Jon1BidH8yutg%R_ zo3=I9iM+fRZ;{|7uN&UCoHl-suP}hSCWNg39b^hQTDmC$0~aTk&hVRO61#`Oq-qOm zO7kqXy7losix5|&G6S3wOQbH6IEagcX{Q3?JKdEM`}^tjM8vCC7MP8EF*x?oaE*fF zBc+YQ^pPaXP5GC~i46?X)c`fZu$rr@+a&ubV>ccQmu7>#inOFBkkf!>4eKFW_woIPa*oI3gT_P)R?1diRfd-r-bzi(J*6_h zC8;ufULdiKij8xE)+Q5o3|Nd~=U}hg@GR@=y!rq*pCny4Dy4W!Oed7$xf41rhkSX; z9E>U`!F`64{h|LF|49X$v8>_KDK!b(VpEVZM>|9 ztr(?}yR32IVqB&ZUTQem@LwoY#DnbS!X*c(9#Fw0ZqfwIxUY8RmURucK_{6J;>i)hxEj#FImq&+9 z?sd*^6gK&b=2E620LeR0aKo_p@ha||*W4$!bTcOo=OIB8N)fM>QWt?JK-pA#u>i10 z+Ih3y>)DS4QGLSPi8lr#5q1yDBrbeI(8IUtfs-O|6VI?^WTP_~qi1<71Rk4@ElD-W|^?Ri!oHG&1 z{_nmjwAEF6cnDf?Zlid-bG%3ir(xW5yLvnKF#GFRXPIdEgH9GH+1{HPepTg0agFrd z|J>(wE{MN^LVViEUKUG)>PPIfFNWs&`S>#mrqy2M!%#&uVxryco$@^#{A?(3vt$aK zBcJ5aw+j}=2T?Cx(aD`Ok46eOe&O-tbA%344IupZVBOl&t8ks&%Fw#TMw)C^+x5F< z+1WGnf>2-Tk>dwg%HnvwfRW8{TK0=h`7_L;mK$4j-!G8P7gxCJz;e}xZv-U*B4IR9 za7F51))eS^an=XD{biWU^#E)8>=DP{$-eDcf8WF+VyFK}nINte85{&%RuDM}IpU4q z-8j@942D6ue;asz`t#gW^`smgg2?@}D{79#&P-{q#~o}A6rT6e-UQ84S$AOf!oAvb zPusl#jIXnSqiNMPltcXd`|)|LK)txLF2mO!fI3ngN-&d*+H&a4>h+9&FI@C%TE#>j z{7~8OM!O|AgQ{+NMgcSG>F_jA_{%9PZMv`w@6L`H?4Wd1ffqwnhj^BBE|r@#9pK_*bF=$~w9(38-A z9GiSU7U^sZzgD8}9U18$>&ncVkG~eqPhC@ZVk$xnw~4(J`Vr0$eu%RrbQi@VK&P;~ z4(ecM3wWX=&{o~W?sTRwb%RW~#> z5v!$G*K^}z8{g{1ID3@|hMd{SaBC~AwKVn8EH+9%P3Rz@| z?^EicFSy?aqzYTeywCnpyONwf<-#n~3gjQiM@zqpm!=Zz|GGtUnKxMmFP>%5;7tu< zQO#<1txR;pruKI#+LSBEJQ>>_Lq!5Hpm*e?~mv+$*rRs$+{HY@inVi z1Q?D$kG47;M` zS92J%wkeK9WT|JCaSW5lHIj(QqDhw(Pet$Itz^jUEBe?59=?(^Q;QfwO6@ZrtDb(f zh8y<631J%UdDJ)zm|@~qzLngts6qP2*(L#E$TA2u^2X1!IYL7TIV z_agTeU3!x}cyQpBuQvbuxH;xS%y2T~JC{lY;CzF>&|pP-I-wf;4KJ1`=GCLlQJwZ0 z*?6k*53 zTO#Jc6BPY=y?4-_OKVqKM2=UGsx8iDjn5;vQ<15Pn?cSmmi73`nj>8Gn`qQ2#p8Bt z+*SPRho(J3DXJcuqs?*T{K*ntQwbn(=!{wlyeEhWpH@EEJ4~4@AZc1mPC^z4s^y() z#A@jJVN2J9w&s|f${c+K{z6sL5}(ydO$H0Cjswq#H%!%kj^P&*J${`w^MPCk7T-(m z-zW(+9Jb^i+-M##ptDG$+EuAwhkwyK&9y)Rr@VoDW%bCwWCx!graD*Kxw?n?+-Hd) zTr9bykegRAeYBpd>z9{^uf8ORyiUCqH^w@Nw#k$7p0vsREoHd?(CeVU}id#lvV&js{heng$n#kpq8#{eZ&6&y(x`#rdpx;XT zd@bSQP)sfJjrYJqZzL!>TGErl>r~Mk7Vw5#$UCfaY7U5>eg0gBTS^7=tFIo^Y~teX z`i0`&NmVl4}rv0PMe9e}cb$;5^?}KO`Kgf6oqPC30WAK#C zYQ1M}c0~F@cabfa$uXBo&$;T(B*n}(lQfKLEDN6R$c)uyq;{zB#WPSB>Vw^0T<%k&tzrJ60JmM6KE zIlc^unO(Tqbe7==%y0y>ol#`0;J%K{<4j8GvwpTD-?|?4c;<1WEiiS%nzXbot0le) z`%9LB-*f)gSx6u&Zho31n9lTjcV9oj>i zP|kO`@U~2UKvo+imnv%VTw?&8H#yTkwTIK3GdK-TU<6p~%x>_MK+X^)QTdyAxv0eXvocukr?wdF3e;5 zGjB*vHEHttrT2=(fc<1k?5Id;BE4uF$g4QhCcjHCrs~s(COb8`=5%&v(GHh*<{Ol= zR?T@~>WKj;y2CfSS0CB7$6?R6qQutl%8z8nYuR49{LtX^sDf}c;}cEzs;!`(j(ddqS_fBiJj-LY)S94tG!r4>dk;GvYvlKk=;`Jiqzs5uo@%D?J|m%!CVQ zM;N=_qwxu*BO^HIg;5zsnu=IiBju06A2jUN7VE5mHf?}&#}5s6|C)yT7Cm(;L7d;T z(E$Lw|Ab#C%-0DF{ds6B(Q}5(@(|ogP6ZQOeIM{z<-lqf932O3_7+m@mRk+Rl$pgd z*nR1}z1HwD1By0`1jT466H%2}MVCh#ZPry!y3CmY#lv<-87%6n-pnW5bELMftC*?2VxmUXqa z&qx^XyIGS{*~Mu%Y%Zl}QnEK1uv9oHw=c4BzMo0lSEx0ab4?Y3aXxhfV?(IE02Y>8aE?$tWtu->(tj8@JJI< znJfR&B@Kl)q|CK*#b|5)%|Ss6G5t5tJ?wpLg zuFh8BItvp!OElY)&0QPz-)G40v#fE8#&NeI^+#TU>pUCceStky81|#im8LaRnbP8_ zDOk=GcV5w*PgMFU-1q(0SE2oq=c}6oI-QOfa(IhQKek~g?T|fSSwSgjDP?8Z!Ao2k zW|RTeEP|wb4R1j zwv#+gRC#t>@c5SU-_ns?lzZ{{2pTscJ|w@>+1}CvY@-A7aB#8vjnx8)kFmRc*2Y7< zG2b=nm_{pQbD?S$VnpxRqkJy0Wh!nI<}zu!yKHg2_RjqrR~z0#<&<+D_wZS7M-qNj z#_>0R!uav#M$dR>6sljNnGvC&=iq2($$KCnIFrTCVN}K>$A4f1^6^I6i0@L1i7tWv z`;1r82nITTNtbb}1$LBO(O5xV+ERrm*P;HRk*?h#nI-85Zp3W=nO^C}+9jwWgzJis zC?O&vw{f)wdAPbkxvgD2z`r+q{+Ea&mM%WU91_Mu@^KO48b8HbUDsFvGr`Pl0`PZ7<7%!tVL2eQ9pbg(^3Q_KRMiT9+%Vvm|0-OCKueI%d3>^q^WO z>=1p0T26^3vfWXv=N_2muI_8SG%Y|8U*3V9U&662s_4HV@Nw!$LdlkXA7nNsq`#20Hj# zYT8cSJ}gnp4o5Qf`L#`X|5StX_$yi50;%5poYIUUN5j`a20&0UmPRwuHwv9OHp@c1 zhenY1S3d9qwViWA{vDy9^;zs5Q*Vd%I-e_$Z2+>|(&|Xfr^ci71*uesE(1f1Y)W{4 zu^J{LjtX3{U}-Xd+Pmf12JnuSYmnikgWA}~_zOH1zJNpd*nelBr7{*l41$4#i0qBv zuMD(wbNe3w5zPDj%1wFfI?IC_v5#^^jXO^%G7rKHsjyNqIH|ToN@=iDe`Q@%%Me|W zygQlHFfu;vx1F%&?{g)mJP#B#KY2Ft5frmtOoE0=2_ZX6^O>4A4I)KL!Ky#xm1azQ zx}snnpq&FGw()q1rifZ0r<$s-UF=-M-((?DJ=!z(U`1#j>_lO=EHsmWkKA8g+mh}^ zgDE(ku|>l2sz*u4Ho9L zFJ5q^el;V^bX)SX81#&LWt%yRl(MxNAY`F|{-+-gsItnq3iS-PM z9Kv}HH6G1|xQar*2%BYTUNQSqeX!|Dj?g*nj<5?*`rre>G@JC5)SdlmQ+A1_u_K8$ zF5${|O=~lsT^)5baoo-$e!F_oeR|}l6~uLEYRAvGcw2jm^M?aPLgqv`|9|hA|FKe*k}uWe83DrMdSj@Yfc{pU}^U)7CEyk6*!muf_fe1pq9ue*^!2 zDzm@Z`L#gzr=?Wf|2K($lyD)^+0$+zB+n-Q8V+1t-DX8*dzfCb+u?0to~Q5Zs*xLh#@Y!QK7s%$@mW zCNtkJxVLI`)#}x?&#JE4`|R_aqpAo8j|V^mAOipZ3V`WBwzVM)01yWc0N?_UVfCaO z9b7FOT#YonoGicwte*CE2m?F(Ch!V{TDxh(xgGud|SRsoZ)#N&f_8LDhK=8ps?O1b+pJpNV}FH z2_IWe-yTgH;nM^cU7f>RJQ8t^r$$E6mYIMw=ejO+Zs`>Xg;HW`d;-ycwd~oxm)J|a z4QR!>MFNnyj%DSSi`e`FpT@D)MsX)>Z5VtEPuE!F;Ug)1<_X*lKd4e@YcQCqH@MuS zDz<{@>$xV4&0rVVL*iO67QQVZHns9Sd%;ay^(o@4ShqJ0#MI`i@9W)09}{_|deg{@ zZ*9b)mm?lX5i~XpPz6O+6O?f}48QIc!_QY5JnAH0xTRUa1$Hlym^bFc#+fS{!fno#Txv} zUoTB~q0+^U7IG+e7YezYT!_PxRP>OLYogHf3y`13tclL2CRu2s17c|s2g5!0Z}Gbu zm|GBz-hohDta6t|;@}BU)q0eLq~18YAu-arq{up#u5@F&Po7U+q(4{iqIYkJWh|*L z%2VuLqLLjymafDaW_?ABg8Km&LLibJsN4HOXVLVk9A;8dW4|nYpO%JFmj9hXVj?p;m?oeKMYQ zY#xp-AX7(2&`;kg)iQ7_;m3MyWb+8OnjM6KCH~alm>BW>CD*L~Y5$3t*tB4%2Mq?nQTX5+P#u0W8Jx*5uujEoRR9?vz06Z((LRxX$C zu7G245aT-}RRhq;(OsnlP;3J00;6FzrfZ{vOox4XJhT05TMKOG&v!!qIs+K0PrZ7Mm9i z&$n&scU#wFwTi#j5Tm9OXeLmOZC04;oj3$vE>sorXz!;BeQ`bABj02y$1mu9&GL$T z9p#x|*D36rRt|ZT3=4{5B{c_#X3L3e>d@AqJ%$PK$y9m&lE?-;G3psYWoOtamRJ}Q zGgH~7TS4E-O=!T;6#nALCh=!nO5Oyw-Jl6+*z0qW@YUh_BQog-Fn$9{UhG-#ZLAF- zML6q?Crtz5{b{!{@_UpHC$_Io4=idvHwMMHKHome-^MwlMXl=0A^6N~Sb9IKdKzj{b*~9i za=M?AQ06%qs%zUMG)rJdvW-|pQM7qExNqE?|F%@zIB+9iu>O)TFBYF&7OY|~Nk(rO z|6rQu^`kG{f|-;r7~Zq8vO;9a$$ou0{9WUq0JV7XGWv%VY6RP^(wg8K$BFHTWys6Z zICF!wJZ~g1wvhmKk(4z-q?!^NC$u;Vq=DeQ^|x_dXp;Hjm;&ET9S~wnK5$Jr-L>=j zT3M1*CQg46Qb}~(F1{&ZleqHF3JqTD+Q!Y-ewj9i-*=5Dsx(!gZweDc3GkMUzrbp}#aj?TZ+I3e;n+u`uxMqV4%e%RNw#ITdDdB#cp=27SxAO zc8^SVeC!!lHp)G%T}$!43-;@4N`L#i0^{D$VN|}qR0!Q zdjUqbCMcM$I%F=8Pnz#6UwC~3b>!cmZ2(IYpB3|n_=dQWheDo{`7 zvyxuKX0l_2946n8F)wwbiMva*GujZlVI~**Es&bEKk0?Iw`!iZc>riWWdO&LE6hoT zxwsCavRi;!kr$oXpPGOgV(oIS`l(eV;JdZkS)X2r;P>Rx$!y56y!M@XvwtdS^~|g+ za%jNF43O{JIRixspCrfbuA%Eu;g~E3lA;Fg97)H(s9X&-T9AO6lDj8m!4K?^a>o81 zh0|=D>`Zdm>aP-awec+?<9Pn?g=sSf-m#!bI8!RUZDlGvs-E$w#_EFnkkbU<1l=7N^Z{-u~!f-BPRJKw$6ZL1wCgt6uhO8!_oEx4QP5NCp}dNY~V^y*M+kYI7d$lyx@X>sh^ zsa#F}iV!li#$_4Q&k_ux`dy*fmW5WkQ@MCXdRkoT7jLSaoXo)&3qdl@a8s`bc_#C?yd(@+a8Yv z&ns5v@!48mpPXzb5-ztqangn9p9>a)bce6`&Cx~Nj zxfdM_LSPN`$agy3D)u|)fZDwX&BAS_|6#TkP~M@~6P z3yG%<;Z5Nq@t^}%g;K!fCRgsORrQ(Z3X31;5jf!=`8&om+A5`@NK2Ze!ZxNvI9HV_ z!p{z{J_m=5(@41()2OpnOPPiZc3P0XnLQa=wEx^y1ez4_HK#Ix-Uqv1*r$!&L2FjE zJ#_(T4j$6hNb_}07ypjuwB>Bn(%umar#EKIZxnwBhMp5kv^_yv!?=BB(9N5m=(07| z5J|)pFXBEOttt$jRZ4(#`_W=h$i#aD%M<#>&In11NC8!=IOgk6YCG>ODeDo|Z8MVS z!fq_SkybWGrMHj~x&~E5TFeU9PS*^Da|sEaeoCHgBGPb;>Lv2269sFJm~ahlHjKWa zG)^YnQz&JEeA7D5GKR58CvahgmbPn<)pby7hD!3+=UQjUL-^kMR z&W^!&vCIRzLAD+_&M<|r#h%dACchhvtYekxO>p3A;KbzT_@&R-Xi;Rp75=HO?NjoL zx{Dz!HBgYSNeJ>2G{S|TF#HF7>Fg3+yMv_6=}cZsI6T>xEx3v6(LKZARdjbA1J68Q zz=#O3ddIg(f|>Ldo6><_P%g=sLEhFm^X*OvrQq*gT42M;tH;}7%W*@|&lcZ6>8HBA z=NIP^w&~5jfdjOMCtEox&6OKm6iEkz2t7@b9N28F~i{{iC=^AWdzENIf@T4)% zCsDDiIn#>Kan8n$py^6kEVO4uD4lD1a?$3R6@wwrVJC%=m9XF5T%XcmR885q z$YWhKW*VKnY~5^%TVx7YsG?lIM6-{v2NA9?3k{{*>hw0IhfZ*+G?+G!xNz-6V`773 zDCz10X=yb^x`iCBYiyD07^%2H*SK3mT~nTj4OA0)gzq)#-Ji(u@GZ*uBYWQk-x`+b9in?LREz?Jk6NhEF=i(nRCoEF)VS2?A=}be_~q*q zAtfsa71fd4=iZYunHg^|yf$wIT-r9(KK|=s+$%4@t^iuUsYCl&=>M@_u&bAy1^8#t zR-k1Mnq$X$5S{kNx;YqdUt>n89UPlb-RjLH-77I23@PYhIGurB8EsNs^$>?gjnTyrpTs0g&TM`y zMxKzdS&O2;Lb7v}fqHNuLLghEKkt~t>&g;fOZdV%ywTd$bRyj>VeytScKyTX%c+AW zPT}Ps!>Ux*O><>yFIm|2DGC`Bl(ooNp;Ltd6b`$-7GHi9P+6AD2Zv-hj=&tLW9QueM$gaWVhyn4q}$ZbW20_#Pv&_#^lzEsxw zh|eK)PM=AoQy8kVDZUTvGDIV8m?QtmbZ+o{wIg{;kUWX;O})RgBih1qXHG%!n>SvK z-#-TRi(am64QO=OB1xk!+1>BB!nJ|+fkp2M@e4`HijF>@k<-BqFr;I}`rWim5>6XL zYcip3AC#bViJZLP&rpSQ0FOeV`^fUqryWCN3|@z0hEdHD7N~5;PYHFsyLZE97eGR; zc4%pHIQeB|00Xn*H<1gz^|Pf%xU^xsMF{Mwc?ZObgLjluYsIIQfq^^uw<}MA>k30jv>l;5Z!+9&=Oe))9u3*(+=ba5N zgVR&8ZSIwd*B|C{GGIkXt;Q|PpW|EQq|ezgsaBFNX~q@?Ki7sQ5u*@y`cC431=J{Vqvb~>SE(y^&6|XV=i4JoWSkKz8DEYqNWzBNX1d z&QJ%N$8B(|qo5IpZIMRrZ8IjRpXoC&3hKEN*WtWYqos`II+%5j9YsRqD(KX0F@6$i zl{fw_J9)WOkoEZGl8&a;F`)^56C3ny|5+VVY(0A=4;8K>RHE3>6}h>inW~GU6PV4+ z(Z%BTDbN2F;?PGIm0+aU#g5mrgwQ6{?~_@*AT2q!LKcFF0Z$j%fbAO zv9-YH7vs_|X8Vq=&F(6_{q{>jKJ2*nz~HAZCy^MJ^Y&!pAZ9Fw^L#ABxJ6T`c8JCQ z;;`|ml|f>@F7-k&vhdO(giah@^cm?uR`TW9igSy!jAQ~owS3ywDU>{OWt8hZoV$#} zRSd$Dq_ub5N#88FTe7i+11P%)jS8;*b)aD)kAf8rB=f%_&ag$UGCN+j#UJyR}rv z(97~kua2BOl+a2i>ynzkgj}WE6n+sfwJW;vt5{CXij3Hop z_Ikq8EFtbZ`&v;Q?fkT6$7VA4LmH~9zo-4H_gD58YDhqbe=^Am41Kh|plD=wO)hpGqEKhh@*EDJRC|NEf)kJt6b`CrE7s)~OP@b{74 zAHbjIRH!EYGT{3a`0JSCPiQk#YQGFUeg*%%6Zd@uX5Ft*e(llx8D#+DUpqFx2Kcqg{4;<&!EXWntT}&${_5y|LW!RK2l}hO{~F=% w9{ML90N8>?_=ltZ3jccw{43lV_!s!^2~kxM0s3|UfG5yB0BYKFWIw Date: Wed, 3 Mar 2021 22:02:58 -0700 Subject: [PATCH 2/3] Two improvements to the test --- pandas/tests/io/excel/test_readers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandas/tests/io/excel/test_readers.py b/pandas/tests/io/excel/test_readers.py index 7115f14b74add..cdcbc502b90d9 100644 --- a/pandas/tests/io/excel/test_readers.py +++ b/pandas/tests/io/excel/test_readers.py @@ -1186,11 +1186,12 @@ def test_no_header_with_list_index_col(self, read_ext): tm.assert_frame_equal(expected, result) def test_one_col_noskip_blank_line(self, read_ext): + # GH 39808 file_name = "one_col_blank_line" + read_ext data = [0.5, np.nan, 1, 2] expected = DataFrame(data, columns=["numbers"]) result = pd.read_excel(file_name) - tm.assert_frame_equal(expected, result) + tm.assert_frame_equal(result, expected) class TestExcelFileRead: From ae78f1e5e4bbc7dab48d299a287aea1c9d84a0e8 Mon Sep 17 00:00:00 2001 From: Andrew Hawryluk Date: Fri, 5 Mar 2021 15:55:15 -0700 Subject: [PATCH 3/3] Add comment --- pandas/io/excel/_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/io/excel/_base.py b/pandas/io/excel/_base.py index f7672cb576fba..2bf70a18e810f 100644 --- a/pandas/io/excel/_base.py +++ b/pandas/io/excel/_base.py @@ -598,7 +598,7 @@ def parse( skiprows=skiprows, nrows=nrows, na_values=na_values, - skip_blank_lines=False, + skip_blank_lines=False, # GH 39808 parse_dates=parse_dates, date_parser=date_parser, thousands=thousands,