尝试使用pd.read_sas()方法导入sav文件失败

时间:2019-01-25 10:51:58

标签: pandas python-3.6

我正在尝试将一个sav文件导入为pandas数据框。该文件的来源是Pew研究中心(http://www.pewglobal.org),可以公开获得。

我的代码如下:

import pandas as pd

data = pd.read_sas('Pew_Research_Global_Attitudes_Spring_2017_Dataset_WEB_FINAL.sav')
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-16-d54b05eebfbc> in <module>()
----> 1 data = pd.read_sas('Pew_Research_Global_Attitudes_Spring_2017_Dataset_WEB_FINAL.sav')

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\sas\sasreader.py in read_sas(filepath_or_buffer, format, index, encoding, chunksize, iterator)
     50             pass
     51 
---> 52     if format.lower() == 'xport':
     53         from pandas.io.sas.sas_xport import XportReader
     54         reader = XportReader(filepath_or_buffer, index=index,

AttributeError: 'NoneType' object has no attribute 'lower'

1 个答案:

答案 0 :(得分:1)

您正在尝试使用具有读取SAS .xpt或.sas7bdat文件的功能的方法读取SPSS .sav文件。这就是为什么它不起作用。

在每个Pew研究中心,您需要一些其他步骤才能将.sav文件与其他文件一起用作SPSS。一个很好的起点可以是将其转换为csv:

  

SPSS .sav文件可以使用R转换为.csv格式。R是   免费的开放源代码统计分析程序,可以   从综合R存档网络下载。外国人   软件包是标准安装的一部分,可用于阅读   使用read.spss()函数将.sav文件转换为R。然后数据可以   可以在R中进行分析,也可以使用write.csv()保存到.csv文件中   功能。

Source