CLN: replace %s syntax with .format in pandas.io
progress towards #16130

- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=h1) Report
> Merging [#24454](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/3086e0a170934d87b01fa910f371002a55fd07b9?src=pr&el=desc) will **decrease** coverage by `49.3%`.
> The diff coverage is `64.19%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/24454/graphs/tree.svg?width=650&token=eZ4WkYLtcO&height=150&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=tree)

```diff
@@             Coverage Diff             @@
##           master   #24454       +/-   ##
===========================================
- Coverage   92.31%      43%   -49.31%     
===========================================
  Files         163      163               
  Lines       51987    51987               
===========================================
- Hits        47990    22356    -25634     
- Misses       3997    29631    +25634
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `?` | |
| #single | `43% <64.19%> (ø)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/io/packers.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3BhY2tlcnMucHk=) | `14.82% <0%> (-73.26%)` | :arrow_down: |
| [pandas/io/sas/sas7bdat.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3Nhcy9zYXM3YmRhdC5weQ==) | `0% <0%> (-91.17%)` | :arrow_down: |
| [pandas/io/parsers.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3BhcnNlcnMucHk=) | `48.51% <5.88%> (-46.87%)` | :arrow_down: |
| [pandas/io/pytables.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3B5dGFibGVzLnB5) | `91.38% <85%> (-0.93%)` | :arrow_down: |
| [pandas/io/formats/latex.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL2Zvcm1hdHMvbGF0ZXgucHk=) | `0% <0%> (-100%)` | :arrow_down: |
| [pandas/core/categorical.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvY2F0ZWdvcmljYWwucHk=) | `0% <0%> (-100%)` | :arrow_down: |
| [pandas/io/sas/sas\_constants.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3Nhcy9zYXNfY29uc3RhbnRzLnB5) | `0% <0%> (-100%)` | :arrow_down: |
| [pandas/tseries/plotting.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL3RzZXJpZXMvcGxvdHRpbmcucHk=) | `0% <0%> (-100%)` | :arrow_down: |
| [pandas/tseries/converter.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL3RzZXJpZXMvY29udmVydGVyLnB5) | `0% <0%> (-100%)` | :arrow_down: |
| [pandas/io/formats/html.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL2Zvcm1hdHMvaHRtbC5weQ==) | `0% <0%> (-98.65%)` | :arrow_down: |
| ... and [125 more](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=footer). Last update [3086e0a...153ae0d](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 # [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=h1) Report
> Merging [#24454](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/d46d2a5ea900c59439dff58942e79ea8b39e918d?src=pr&el=desc) will **increase** coverage by `<.01%`.
> The diff coverage is `84.52%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/24454/graphs/tree.svg?width=650&token=eZ4WkYLtcO&height=150&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #24454      +/-   ##
==========================================
+ Coverage   92.38%   92.38%   +<.01%     
==========================================
  Files         166      166              
  Lines       52321    52321              
==========================================
+ Hits        48337    48338       +1     
+ Misses       3984     3983       -1
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.8% <39.28%> (ø)` | :arrow_up: |
| #single | `43.06% <65.47%> (-0.01%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/io/packers.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3BhY2tlcnMucHk=) | `88.21% <0%> (ø)` | :arrow_up: |
| [pandas/io/sas/sas7bdat.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3Nhcy9zYXM3YmRhdC5weQ==) | `91.16% <33.33%> (ø)` | :arrow_up: |
| [pandas/io/pytables.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3B5dGFibGVzLnB5) | `92.31% <85.71%> (ø)` | :arrow_up: |
| [pandas/io/parsers.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3BhcnNlcnMucHk=) | `95.4% <94.11%> (ø)` | :arrow_up: |
| [pandas/util/testing.py](https://codecov.io/gh/pandas-dev/pandas/pull/24454/diff?src=pr&el=tree#diff-cGFuZGFzL3V0aWwvdGVzdGluZy5weQ==) | `88.09% <0%> (+0.09%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=footer). Last update [d46d2a5...f249d93](https://codecov.io/gh/pandas-dev/pandas/pull/24454?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 let's be consistent about this. a single formatted string need not be named, multiple *need* to be named.  FWIW in case we someday want to lint for this, searching for `"(?<!\d)\s%(?=\s)(?! \d)"`  shows 768 matches across the codebase.  That pattern doesn't get rid of all the mod ops, but cuts it down quite a bit. @makeajourney can you merge master and update comments? Hello @makeajourney! Thanks for updating the PR.













Cheers ! There are no PEP8 issues in this Pull Request. :beers: 

##### Comment last updated on January 11, 2019 at 02:13 Hours UTC CI failed only with python2.7. I have no idea about this problem. @jreback  Can I divide this pull-request into smaller units? It's too hard to find the problem because too many files changed. yes that would be best 