我试图使用以下代码将SAV文件转换为CSV
data = pd.io.stata.read_stata("C:/Users/Nicola/Desktop/Relevant projects activities ACF/BRACED Final Evaluation/Evaluations/CSI_compil_2017.sav")
writer = pd.ExcelWriter('C:/Users/Nicola/Desktop/Baseline.xlsx')
data.to_excel(writer, 'data')
data.to_csv('changed_to_csv.csv')
writer.save()我得到的输出如下
ValueError:给定文件的版本不是104、105、108、111 (Stata 7SE)、113 (Stata 8/9)、114 (Stata 10/11)、115 (Stata 12)、117 (Stata 13)或118 (Stata 14)。
是否有更好的代码片段可用于更有效地执行此转换?谢谢
发布于 2018-07-01 11:40:05
我刚刚用这个代码段(R内核)来转换它:
library(foreign)
write.table(read.spss("C:/Users/Nicola/Desktop/Relevant projects activities ACF/BRACED Final Evaluation/Evaluations/CSI_compil_2017.sav"), file="from_sav_data.csv", quote = FALSE, sep = ",")发布于 2018-07-01 11:38:46
请参阅以下答案:https://stackoverflow.com/a/20873154/5999386
简而言之,使用import pandas.rpy.common as com来使用R功能将.sav文件解析为Pandas的数据帧。
发布于 2019-09-03 10:21:47
import pandas as pd
import pyreadstat as py
df, meta = py.read_sav('file.SAV')
writer=pd.ExcelWriter ("file2.xlsx")
df.to_excel(writer, 'df')
df.to_csv('file2.csv')
writer.save()https://stackoverflow.com/questions/51122781
复制相似问题