Pandas无法将SAS视为可迭代的

时间:2016-10-31 06:28:00

标签: pandas

更新。这是一个已知的错误 - 如果尝试将SAS7bdat读取为可迭代的,pandas.read_sas就会中断。

我在Spyder 3.0.1,Windows 10中的pandas 0.18.1上尝试pandas.read_sas时收到错误。

我在SAS中生成了一个简单的数据集,并以SAS7bdat格式保存:

data basic;
    do i=1 to 20;
        j=i**2;
        if mod(i,2) then type='Even';
        else type='Odd';
        output;
    end;
run;

我们将此数据保存到目录中。

以下代码在Python中运行时成功导入SAS数据集:

import pandas
f=pandas.read_sas('basic.sas7bdat')

以下代码失败:

import pandas
for chunk in pandas.read_sas('basic.sas7bdat', chunksize=1):
    pass

生成的错误是

File "C:\Program Files\Anaconda3\lib\site-packages\pandas\io\common.py", line 101, in __next__
    raise AbstractMethodError(self)

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

如果我使用选项iterable = True,或者如果我同时使用iterable =和chunksize =,则会产生相同的错误。

相关文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_sas.html

示例SAS7bdat数据集:http://www.principlesofeconometrics.com/sas.htm

0 个答案:

没有答案
相关问题