如何将大的sav文件转换成csv文件。

问题描述 投票:0回答:1

我正试图用Python将一个约2GB的SPSS(.SAV)大文件转换为CSV。

如果有一个大小为500MB的文件,做下面的工作没有问题。

import pandas as pd
df = pd.read_spss('stdFile.sav')
df.to_csv("stdFile.csv", encoding = "utf-8-sig")

但在这种情况下,我得到了一个MemoryError... ...

我正在寻找解决方案,不一定要用Python。但我没有SPSS许可证,所以我必须用另一个工具转换文件。

python csv spss
1个回答
0
投票

首先导入模块 savReaderWriter 将 .sav 文件转换为结构化数组,然后导入模块 numpy 将结构化数组转换为 csv。

pip install savReaderWriter

savReaderWriter

import savReaderWriter 
import numpy as np

reader_np = savReaderWriter.SavReaderNp("stdFile.sav")
array = reader_np.to_structured_array("outfile.dat") 
np.savetxt("stdFile.csv", array, delimiter=",")
reader_np.close()
© www.soinside.com 2019 - 2024. All rights reserved.