Skip to content

Commit 3d1abe7

Browse files
Pre-commit-check
1 parent 5a2f9fc commit 3d1abe7

File tree

3 files changed

+7
-11
lines changed

3 files changed

+7
-11
lines changed

pandas/io/formats/css.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,8 @@
1919
Iterator,
2020
)
2121

22-
def _normalize_number_format_value(value: str) -> str:
23-
"""
24-
Lowercase number-format value except for text inside double quotes.
2522

26-
This preserves case for string literals (e.g. "M") while still
27-
normalizing things like [Red] -> [red].
28-
"""
23+
def _normalize_number_format_value(value: str) -> str:
2924
value = value.strip()
3025
out: list[str] = []
3126
in_string = False
@@ -34,11 +29,10 @@ def _normalize_number_format_value(value: str) -> str:
3429
if ch == '"':
3530
out.append(ch)
3631
in_string = not in_string
32+
elif in_string:
33+
out.append(ch) # preserve case inside string literals
3734
else:
38-
if in_string:
39-
out.append(ch) # preserve case inside string literals
40-
else:
41-
out.append(ch.lower()) # normalize outside literals
35+
out.append(ch.lower()) # normalize outside literals
4236
return "".join(out)
4337

4438

pandas/tests/io/excel/test_style.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def test_styler_to_excel_unstyled(engine, tmp_excel):
9696
("font-style: italic;", ["font", "i"], True),
9797
("text-decoration: underline;", ["font", "u"], "single"),
9898
("number-format: $??,???.00;", ["number_format"], "$??,???.00"),
99-
("number-format: #,,"'"M";', ["number_format"], '#,,"M"'),
99+
('number-format: #,,"M";', ["number_format"], '#,,"M"'),
100100
("text-align: left;", ["alignment", "horizontal"], "left"),
101101
(
102102
"vertical-align: bottom;",

pandas/tests/io/formats/test_css.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ def test_css_relative_font_size(size, relative_to, resolved):
287287
inherited = {"font-size": relative_to}
288288
assert_resolves(f"font-size: {size}", {"font-size": resolved}, inherited=inherited)
289289

290+
290291
def test_css_atomize_preserves_number_format_case():
291292
resolver = CSSResolver()
292293
declarations = [("NUMBER-FORMAT", '#,,"M"')]
@@ -296,6 +297,7 @@ def test_css_atomize_preserves_number_format_case():
296297
assert "number-format" in props
297298
assert props["number-format"] == '#,,"M"'
298299

300+
299301
def test_css_parse_preserves_number_format_case():
300302
resolver = CSSResolver()
301303

0 commit comments

Comments
 (0)