一、安装库
- python要对sav类型文件进行操作,需要安装savReaderWriter模块
savReaderWriter模块下载链接 - 下载后解压进入文件夹
- 在地址栏输入cmd
- 输入命令进行安装
python setup.py install
二、文件读取
import savReaderWriter
mydata_spss = savReaderWriter.SavReader(filepath, ioUtf8=True)
将filepath替换成自己的文件路径即可读取sav文件。
如果不用ioutf8, 汉字十六进制\会被转义
三、数据读取
如对以下数据进行读取
1.全部数据读取
import savReaderWriter
ret = mydata_spss.getSavFileInfo()
返回(列数,行数, [标题1,标题2,…])
2.数据读取
import savReaderWriter
with savReaderWriter.SavReader(filepath, ioUtf8=True) as read:
all = read.all() #返回所有数据
v3 = list(map(itemgetter(2),records))#返回指定列数据
data = list(map(itemgetter(0,2,3), records)) #以行形式返回几列数据
将filepath替换成自己的文件路径
结果为
四、数据写入
import savReaderWriter
#每行的标题和数据
records = [[b'Test1', 1, 1], [b'Test2', 2, 1]]
#每列的标题头
varNames = ['var1', 'v2', 'v3']
varTypes = {'var1': 5, 'v2': 0, 'v3': 0}
with savReaderWriter.SavWriter(savFileName, varNames, varTypes) as writer:
for record in records:
writer.writerow(record)
将savFileName替换成要保存的文件
结果如下
五、参考文章
python怎么读取sav格式_利用Python读取外部数据文件savReadWriter模块的使用
官网