如何让 Pandas 读取 SPSS 文件?

问题描述

我尝试使用 read_SPSS 命令,但没有用。该错误似乎告诉我我需要 pyreadstat,但我什至无法安装它。但是,为什么我需要 pyreadstat?如今,Pandas 不是刚刚内置了读取 .sav功能吗?我很困惑...

这是我尝试使用 read_SPSS 时得到的错误文本:


ImportError                               Traceback (most recent call last)
<ipython-input-33-935d54be8b7a> in <module>
----> 1 twitter=pd.read_spss('twitter_study.sav')

/opt/anaconda3/lib/python3.8/site-packages/pandas/io/spss.py in read_spss(path,usecols,convert_categoricals)
     34     DataFrame
     35     """
---> 36     pyreadstat = import_optional_dependency("pyreadstat")
     37 
     38     if usecols is not None:

/opt/anaconda3/lib/python3.8/site-packages/pandas/compat/_optional.py in import_optional_dependency(name,extra,raise_on_missing,on_version)
    108     except ImportError:
    109         if raise_on_missing:
--> 110             raise ImportError(msg) from None
    111         else:
    112             return None

ImportError: Missing optional dependency 'pyreadstat'.  Use pip or conda to install pyreadstat.

解决方法

可以看到 here 中内置的内容。

您收到的错误消息有点误导,因为它表明 pandas.read_spss() 是可选的,但源代码显示 pyreadstat 完全依赖于 pandas.read_spss()

因此,解决此问题的最简单方法是安装 pyreadstat