DOC: Updating the docstring of read_csv and related functions
State: closed

- [X] closes #23496
- [ ] tests added / passed
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`

Make docstrings of the following modules to comply with [pandas docstring](https://pandas.pydata.org/pandas-docs/stable/contributing_docstring.html)

- pandas.read_table
- pandas.read_csv
- pandas.read_fwf


Labels:
name: Docs
name: IO CSV
description: read_csv, to_csv

Comments:
Hello @thoo! Thanks for submitting the PR.

 - There are no PEP8 issues in the file [`pandas/io/parsers.py`](https://github.com/thoo/pandas/blob/d0c2b4070a331454c95624ef4fbe3cf31731f3e5/pandas/io/parsers.py) !

 - Complete extra results for this file :

> file_to_check.py:310:-6532: W605 invalid escape sequence '\s'
---


# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/23517?src=pr&el=h1) Report
> Merging [#23517](https://codecov.io/gh/pandas-dev/pandas/pull/23517?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/99df7da9ef5b3b210f3045ee19279808368def28?src=pr&el=desc) will **decrease** coverage by `<.01%`.
> The diff coverage is `100%`.

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

```diff
@@            Coverage Diff             @@
##           master   #23517      +/-   ##
==========================================
- Coverage   92.29%   92.29%   -0.01%     
==========================================
  Files         161      161              
  Lines       51493    51486       -7     
==========================================
- Hits        47524    47517       -7     
  Misses       3969     3969
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.68% <100%> (-0.01%)` | :arrow_down: |
| #single | `42.31% <100%> (-0.01%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/23517?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/io/parsers.py](https://codecov.io/gh/pandas-dev/pandas/pull/23517/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3BhcnNlcnMucHk=) | `95.55% <100%> (-0.02%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/23517?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/23517?src=pr&el=footer). Last update [99df7da...766d73f](https://codecov.io/gh/pandas-dev/pandas/pull/23517?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

@datapythonista  Could you re-review this? So should I leave `{**kwds} ` errors from `pandas.read_fwf` for now?? Thanks.
`**kwds` should also be documented, explaining why there are there (they are usually passed to another function). Any reason for not documenting them?

We can leave that for another PR if it's not trivial to add.
I added the doc for `**kwds`. 
The only error left is from `read_fwf`:
```
1 Errors found:
        Unknown parameters {usecols, index_col, warn_bad_lines, chunksize, float_precision, false_values, na_values, skiprows, names, infer_datetime_format, parse_dates, delimiter, nrows, thousands, compression, escapechar, dialect, error_bad_lines, dayfirst, low_memory, header, skipfooter, quotechar, verbose, keep_date_col, converters, prefix, lineterminator, doublequote, skipinitialspace, mangle_dupe_cols, true_values, memory_map, quoting, decimal, comment, dtype, encoding, skip_blank_lines, iterator, delim_whitespace, tupleize_cols, na_filter, date_parser, keep_default_na, squeeze}
```
Is there anything I could do? 
`read_fwf` signature doesn't have all the parameters in the shared docstring, see its signature: ```read_fwf(filepath_or_buffer, colspecs='infer', widths=None, **kwds):```

I don't think we should be reusing the docstring of the others for it, or have all those parameters in a separate variable that is only added in the other docstrings.

The point here is that the docstring for every function/method has to have the right information. You can render the documentation of `read_fwf` with `./doc/make.html --single=pandas.read_fwf`. If you check the html, you should see that we're documenting parameters that the function doesn't have, and that obviously doesn't make sense.
thanks @thoo pls check the rendered dev docs for correctness when they are built..