我正在尝试将一个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'
答案 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文件中 功能。