From 611e61a9a5880514148524d51d34faf58745a5ee Mon Sep 17 00:00:00 2001 From: Dean Date: Tue, 3 Dec 2019 16:41:24 -0800 Subject: [PATCH 1/3] Updated .format() to f-strings --- pandas/io/html.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/pandas/io/html.py b/pandas/io/html.py index b8cb6679a9562..451058be45974 100644 --- a/pandas/io/html.py +++ b/pandas/io/html.py @@ -587,7 +587,7 @@ def _parse_tfoot_tr(self, table): def _setup_build_doc(self): raw_text = _read(self.io) if not raw_text: - raise ValueError("No text parsed from document: {doc}".format(doc=self.io)) + raise ValueError(f"No text parsed from document: {self.io}") return raw_text def _build_doc(self): @@ -617,7 +617,7 @@ def _build_xpath_expr(attrs) -> str: attrs["class"] = attrs.pop("class_") s = [f"@{k}={repr(v)}" for k, v in attrs.items()] - return "[{expr}]".format(expr=" and ".join(s)) + return "[{' and '.join(s)}]" _re_namespace = {"re": "http://exslt.org/regular-expressions"} @@ -846,7 +846,7 @@ def _parser_dispatch(flavor): def _print_as_set(s) -> str: - return "{" + "{arg}".format(arg=", ".join(pprint_thing(el) for el in s)) + "}" + return f"{{{', '.join(pprint_thing(el) for el in s)}}}" def _validate_flavor(flavor): @@ -871,10 +871,8 @@ def _validate_flavor(flavor): if not flavor_set & valid_flavors: raise ValueError( - "{invalid} is not a valid set of flavors, valid " - "flavors are {valid}".format( - invalid=_print_as_set(flavor_set), valid=_print_as_set(valid_flavors) - ) + f"{_print_as_set(flavor_set)} is not a valid set of flavors, valid " + f"flavors are {_print_as_set(valid_flavors)}" ) return flavor @@ -898,11 +896,11 @@ def _parse(flavor, io, match, attrs, encoding, displayed_only, **kwargs): elif hasattr(io, "seekable") and not io.seekable(): # if we couldn't rewind it, let the user know raise ValueError( - "The flavor {} failed to parse your input. " + f"The flavor {flav} failed to parse your input. " "Since you passed a non-rewindable file " "object, we can't rewind it to try " "another parser. Try read_html() with a " - "different flavor.".format(flav) + "different flavor." ) retained = caught From f600b5dc8979b83728833e9f1b3ebc1c25d551d3 Mon Sep 17 00:00:00 2001 From: Dean Date: Tue, 3 Dec 2019 16:50:10 -0800 Subject: [PATCH 2/3] Updated f-strings --- pandas/io/html.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/io/html.py b/pandas/io/html.py index 451058be45974..9c8dc81dc9d58 100644 --- a/pandas/io/html.py +++ b/pandas/io/html.py @@ -617,7 +617,7 @@ def _build_xpath_expr(attrs) -> str: attrs["class"] = attrs.pop("class_") s = [f"@{k}={repr(v)}" for k, v in attrs.items()] - return "[{' and '.join(s)}]" + return f"[{' and '.join(s)}]" _re_namespace = {"re": "http://exslt.org/regular-expressions"} From f27a111f55a518de37454e9da365354244f941c2 Mon Sep 17 00:00:00 2001 From: Dean Date: Wed, 4 Dec 2019 14:31:11 -0800 Subject: [PATCH 3/3] moved .join() method to separate line from return call --- pandas/io/html.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pandas/io/html.py b/pandas/io/html.py index 9c8dc81dc9d58..1a0e0537ad325 100644 --- a/pandas/io/html.py +++ b/pandas/io/html.py @@ -616,8 +616,8 @@ def _build_xpath_expr(attrs) -> str: if "class_" in attrs: attrs["class"] = attrs.pop("class_") - s = [f"@{k}={repr(v)}" for k, v in attrs.items()] - return f"[{' and '.join(s)}]" + s = " and ".join([f"@{k}={repr(v)}" for k, v in attrs.items()]) + return f"[{s}]" _re_namespace = {"re": "http://exslt.org/regular-expressions"} @@ -846,7 +846,8 @@ def _parser_dispatch(flavor): def _print_as_set(s) -> str: - return f"{{{', '.join(pprint_thing(el) for el in s)}}}" + arg = ", ".join(pprint_thing(el) for el in s) + return f"{{{arg}}}" def _validate_flavor(flavor):