DEPR: Deprecate as_recarray in read_csv
State: closed

1) Documented and deprecate `as_recarray`
2) Added `as_recarray` functionality to Python engine
3) Fixed bug in C engine in which `usecols` was not being respected in combination with `as_recarray`


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

Comments:
check this on Windows 

I had disabled a number of these tests because of weird crashing

I don't have Windows 64 though, which is what I think was crashing based on the `SkipTest` message.  Don't we have Appveyor to check this for us (I notice that it isn't a requirement for merging PR's however)?

ok, sign up for appveyor, we auto run on this, its a free account, and I _think_ that you can even remote login to debug.

In any event I remove the skip for the tests I marked on win64.

Also remove the test marked for 2.6 (its a slow one).

It passed for me on 3.5 on win-64, but let's see what appveyor says.

Okay, so if I understand this correctly, remove the `SkipTest` on `test_compact_ints_as_recarray` as well as the one on `test_file` in `common.py`?

yep 

## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/13373?src=pr) is **84.24%**

> Merging [#13373](https://codecov.io/gh/pydata/pandas/pull/13373?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will increase coverage by **<.01%**

``` diff
@@             master     #13373   diff @@
==========================================
  Files           138        138          
  Lines         50739      50749    +10   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          42740      42750    +10   
  Misses         7999       7999          
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last updated by [27448d9...e71aa1e](https://codecov.io/gh/pydata/pandas/compare/27448d9dca193af9c2280b8efb2d7df3813a9d33...e71aa1ead2d31d22c6e007645027d3ff1838852b)

@jreback : Removed the `SkipTest` as requested, and Travis is happy.  Ready to merge if there is nothing else.

what about appveyor ?

@gfyoung can you make the update that @jorisvandenbossche requested here: https://github.com/pydata/pandas/pull/13360 (IOW, just edit buffer_lines)

Broader question: do we actually want to support this feature? (if we want to prune in read_csv keywords, this is maybe a good candidate). Not sure how much used this is.

Has this a significant performance/memory benefit over just using `read_csv` and `to_records` afterwards? (I didn't look at the implementation, but I can imagine this could be a reason to keep the keyword)

@jorisvandenbossche good point. yes I think we should deprecate this as well. 

@gfyoung xref to #10631 (check box 1) for fixing those tests. The test suite works for me on windows 64 (2.7 & 3.5)

@jreback : Appveyor passed for me as well, so I think we can consider that Windows issue resolved?

@jorisvandenbossche : That's a good point.  I'll add the deprecation too.  That also would help with decoupling `pandas` from `numpy` as well.

@jreback @jorisvandenbossche : deprecated `as_recarray`, made the documentation fix from my previous PR, and Travis is happy.  Ready to merge if there are no other concerns.

ty