用Python(in PsychoPy)打开SPSS数据文件

有时,要访问SPSS的sav文件中的内容,而手里电脑没有SPSS软件,或者需要对SPSS数据文件中的数据进行SPSS支持不够好的操作,如对一组数据反复多次抽样。可以使用Python中的Pandas模块来访问SPSS的数据文件。

这里以PsychoPy中的Python编程环境为例,探索一下如何打开SPSS的.sav文件。现在我手里有一个保存了某个学校的某次考试成绩的数据文件,名为“成绩.sav”,其中有三个变量分别名为“语文”、“数学”及“物理”,即保存了这三科的成绩。

访问SPSS数据文件,需要用到pandas模块中的read_spss函数,这个函数在0.25版以后才有,但很多PsychoPy系统附带的pandas是0.23版的。因此,首先需要将PsychoPy里的pandas进行升级,升级操作如下。假设你已经安装好了PsychoPy,在Windows系统中,打开命令提示符对话框(这一功能在Windows的系统工具中),在命令提示符后输入

python –m  pip install –upgrade pandas

这里m前的减号是一个,而upgrade前面的减号是两个。运行这个命令,需要你的电脑已经连接网络,这个命令会自己判断你的pandas是否为最新版本,如果不是,就会从网上下载升级文件将pandas更新为最新版。在我写这篇小短文时,pandas的版本是1.1.3。升级后,检查PsychoPy中pandas的版本,可以使用如下语句。

import  pandas as pd

print(pd.__version__)

注意,version前后的下划线是两个。

使用pandas读取SPSS数据文件,还需要一个模块叫pyreadstat,也是使用Windows命令提示窗口中运行python的pip 命令来安装。

python –m  pip install pyreadstat

好,现在就可以使用python语句来打开SPSS数据文件了。

在程序中,首先需要引用pandas模块,通行的引用方法是给其取个别名pd。然后在第3行,声名了一个名为data_file的变量,其中保存了数据文件的名字。这里假设数据文件与程序文件在同一个文件夹。然后在第6行,调用了pandas中的read_spss函数,把保存了数据文件名的变量data_file传递给这个函数。这个函数的返回值存储到变量my_data中。如果数据打开成功,程序就会接着运行第9行的代码,其作用是显示出变量my_data中的内容有多少,my_data的shape属性可以获得数据有多少行与多少列。

在输出窗口我们看到一行文字显示为(791,3),这说明我们的数据一共包含了791行,有三列。

我们还可以显示其中数学列的前10个值,使用如下代码。

在输出窗口中,我们可以看到如下内容:

这就是数据文件中数学一列的前5个值。

也可以使用pandas中的基本统计功能计算一些常见统计量,如,

这段代码会在输出窗口中显示本数据文件中语文的平均成绩。其它统计量像标准差、最小值、最大值等,都可以显示出来。

python打开文件_用Python(in PsychoPy)打开SPSS数据文件相关推荐

  1. python分割数字_对python数据切割归并算法的实例讲解

    当一个 .txt 文件的数据过于庞大,此时想要对数据进行排序就需要先将数据进行切割,然后通过归并排序,最终实现对整体数据的排序.要实现这个过程我们需要进行以下几步:获取总数据行数:根据行数按照自己的需 ...

  2. 关于python使用pandas导入dat数据文件的方法(可导入任意dat数据文件和csv数据文件)

    我相信大家在学习python中会遇到一些很苦恼的数据导入问题,csdn上面的数据导入五花八门,大多是在特定条件实行的数据导入,我在学习机器学习分类算法实现中发现csdn上面有很多dat数据文件,所以想 ...

  3. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  4. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  5. HTML文件总是WPS打开,设置wps默认打开方式_设置默认使用WPS打开文件

    今天有个客户问我,为什么我双击xls文件不能直接用WPS打开,我直接帮他远程调试,发现他wps没有关联默认文件格式. 下面我就教大家如何设置WPS默认打开方式. 测试环境:windows 7  64位 ...

  6. json python无效语法_在python中打开无效的json文件

    我有一个文件包含这样的无效的json数据(为了清晰起见,它被剪切了):[ { "orderID": 90, "orderDate": '2017-05-10', ...

  7. python2打开文件_关于python:何时以二进制模式打开文件(b)?

    我注意到在文档中他们总是用'wb'打开一个CSV文件. 为什么'b'? 我知道b代表二进制模式,但是你什么时候使用二进制模式(我猜想CSV文件不是二进制模式). 如果相关我是从arcpy.da.Sea ...

  8. 怎么用python打开csv文件_使用Python从CSV文件读取数据

    CSV文件,也就是Comma-separated Value文件,用sublime打开是这样(数据下载见文末): 如果用excel打开是这样(千万别点保存,保存就有问题): 来看看怎么打开,如果安装了 ...

  9. python with打开多个文件_在python中使用with打开多个文件的方法

    python 用循环创建多个文件 请教- 小编想用python创建多个.tex的文件并把他们转换成pdf最终再打包成小编要在爱你的这条路上压抑住所有思念等你来爱小编. Python编程中用for()循 ...

最新文章

  1. Scrollbar中滚动条的设置
  2. Proxy 补充学习笔记
  3. 安装OpenCV:OpenCV 2.4.8或OpenCV 2.4.9 +VS 开发环境配置
  4. qfile 创建文件_Qt之二进制文件读写
  5. 3d 仪表盘_新一代标致2008官图发布 配备3D全息仪表盘
  6. 虚拟局域网——vlan (讲解+配置)
  7. 轻松做性能测试,月入3万的主流测试工具大揭秘
  8. java将csv导入hdfs_把HDFS里的json数据转换成csv格式
  9. HTTP 404 - 未找到文件 怎么样解决
  10. android https双向认证
  11. 企业级容器镜像仓库Harbor的搭建
  12. 思科路由器的基本配置1
  13. Himall商城文件帮助类IOHelper(2)
  14. 目前SolidWorks软件哪个版本比较好用?更稳定一些?
  15. 软件设计第一步——分离关注点和单一职责原则
  16. python打印的时候print(f“*******“) 的括号里的 f‘ ‘ 是什么意思 ?
  17. Softing pnGate系列网关:将PROFIBUS总线集成到PROFINET网络
  18. 3Dmax对齐轴点到其他对象
  19. 2016 清华 计算机 考研 经验 总结
  20. java象棋实验报告_中国象棋java程序设计实验报告.doc

热门文章

  1. Linux nohup实现后台运行程序及查看(nohup与)
  2. Eureka 与Zookeeper 的区别,Eureka相较于Zookeeper好在哪?
  3. URL传Base64 造成报错 Illegal base64 character 20
  4. 计算机专业论文docx,计算机系毕业论文范文-20210606000812.docx-原创力文档
  5. base64解密后乱码_血泪教训!记一个JavaMail 附件乱码的问题
  6. 计算机的硬盘 内存在哪查到,电脑硬盘内存怎么查看
  7. 排序算法值--堆排序
  8. linux重启was控制台报错,IHS启动时报错,从was控制台传播插件失败
  9. php链接mysql编码错误_php 操作 mysql 数据库 编码 错误
  10. ROS rqt、rviz