New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue iterating with pd.read_sas #13654

Closed
andersbogsnes opened this Issue Jul 14, 2016 · 2 comments

Comments

Projects
None yet
3 participants
@andersbogsnes

andersbogsnes commented Jul 14, 2016

Code Sample, a copy-pastable example if possible

import pandas as pd

f = pd.read_sas('test.sas7bdat', iterator=True)
for chunk in f:
    print(f)

---------------------------------------------------------------------------
AbstractMethodError                       Traceback (most recent call last)
<ipython-input-3-bedf2769bffe> in <module>()
----> 1 for chunk in f:
      2     print(chunk)

C:\Anaconda3\lib\site-packages\pandas\io\common.py in __next__(self)
     99 
    100     def __next__(self):
--> 101         raise AbstractMethodError(self)
    102 
    103 if not compat.PY3:

AbstractMethodError: This method must be defined in the concrete class of SAS7BDATReader

Expected Output

Print of each chunk

I'm no expert, but it seems as if the SAS7BDAT class inherits from BaseIterator but does not provide its own __next__ method

output of pd.show_versions()

INSTALLED VERSIONS

commit: None
python: 3.5.1.final.0
python-bits: 64
OS: Windows
OS-release: 7
machine: AMD64
processor: Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None

pandas: 0.18.1
nose: 1.3.7
pip: 8.1.2
setuptools: 20.3
Cython: 0.23.4
numpy: 1.10.4
scipy: 0.17.0
statsmodels: 0.6.1
xarray: None
IPython: 4.1.2
sphinx: 1.3.1
patsy: 0.4.1
dateutil: 2.5.1
pytz: 2016.2
blosc: None
bottleneck: 1.0.0
tables: 3.2.2
numexpr: 2.5.2
matplotlib: 1.5.1
openpyxl: 2.3.2
xlrd: 0.9.4
xlwt: 1.0.0
xlsxwriter: 0.8.4
lxml: 3.6.0
bs4: 4.4.1
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: 1.0.12
pymysql: None
psycopg2: None
jinja2: 2.8
boto: 2.39.0
pandas_datareader: None

@jorisvandenbossche jorisvandenbossche modified the milestones: 0.19.0, Next Major Release Jul 14, 2016

@jorisvandenbossche

This comment has been minimized.

Show comment
Hide comment
@jorisvandenbossche

jorisvandenbossche Jul 14, 2016

Member

@andersbogsnes That seems like a correct observation! Do you want to make a PR for this? Shouldn't be too difficult, you can see how it is done for the xport reader: https://github.com/pydata/pandas/blob/master/pandas/io/sas/sas_xport.py#L354

Member

jorisvandenbossche commented Jul 14, 2016

@andersbogsnes That seems like a correct observation! Do you want to make a PR for this? Shouldn't be too difficult, you can see how it is done for the xport reader: https://github.com/pydata/pandas/blob/master/pandas/io/sas/sas_xport.py#L354

@andersbogsnes

This comment has been minimized.

Show comment
Hide comment
@andersbogsnes

andersbogsnes Jul 15, 2016

Sure, I'll give it a go, seems doable!

andersbogsnes commented Jul 15, 2016

Sure, I'll give it a go, seems doable!

spillz added a commit to spillz/pandas that referenced this issue Aug 6, 2016

@kshedden kshedden referenced this issue Nov 25, 2016

Merged

SAS chunksize / iteration issues #14743

3 of 3 tasks complete

@jreback jreback modified the milestones: 0.19.2, Next Major Release Nov 25, 2016

jorisvandenbossche added a commit that referenced this issue Nov 28, 2016

jorisvandenbossche added a commit that referenced this issue Dec 15, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment