将质量.csv文件转换为SPSS文件

时间:2015-04-15 10:47:41

标签: csv type-conversion spss

我已经完成了一些搜索,但仍未找到问题的答案。我有大量的.csv文件,我想将其转换为SPSS文件。假设我有1000个.csv文件,我想将它们全部放入1000个SPSS文件中。我可以通过要求SPSS从.csv读取数据来执行此文件,只需点击几下。但是,由于我有1000个文件,我正在寻找一种方法来做到这一点,而不必点击几千次并犯很多错误。我对编程很新,所以我会很感激一些虚拟技巧。非常感谢!

*更新: 我刚刚包含了示例.csv和.sav文件的链接。 csv file sav file 所有.csv文件都是一样的。它们是来自同一实验的数据,但是在不同的(人类)主题上。

3 个答案:

答案 0 :(得分:1)

您可以使用SPSSINC PROCESS FILES扩展命令在通配符或显式列表指定的大量文件上迭代一组语法。您编写了应该应用于每个输入的语法文件。在该文件中,您使用PROCESS FILES定义的文件句柄或宏来打开文件。然后在其上运行任意语法,在您的情况下,使用输入宏来构建输出文件名并运行SAVE命令。

一旦安装了命令,

PROCESS FILES会在Utilities菜单上显示为Process Data Files。它需要Python Essentials,并且是版本23的Essentials的一部分。对于V22,您可以从Utilities菜单安装它;对于旧版本,您需要从SPSS社区网站(www.ibm.com/developerworks/spssdevcentral)下载> SPSS Statistics的下载>扩展命令并通过实用程序安装。

答案 1 :(得分:0)

如果您通过SPSS的菜单打开第一个.csv文件,您应该能够粘贴语法以手动打开.csv文件。在向导的第6步中,它会询问"您是否要粘贴语法"为此选择是。这应该为您提供正确执行此操作的语法。 (我尝试使用上传的.csv文件,但由于填充变量的方式,我无法确定变量是否应该是字符串,数字等)。完成此操作后,您可以添加语法以将打开的文件另存为.sav。然后将每个文件转换为.sav,您需要做的就是更改数字。

SAVE OUTFILE='C:\filepath\84.sav'
/COMPRESSED.

可能有一种方法可以使用DO REPEAT循环自动运行该过程,但这应该是自动化的起点。

答案 2 :(得分:0)

我用python模块和范围循环摇滚...这对我来说很有用,因为每个.csv文件都被命名为主题1,主题2等,并且格式完全相同。另外,用正确的驱动器路径替换驱动器路径。

Begin Program.
import spss

for x in range (1, 1001):

   y = """GET DATA  /TYPE=TXT
     /FILE= 'C:\YOUR DRIVE PATH HERE\subject """ + str(x) + """.csv'
     /DELCASE=LINE
     /DELIMITERS=" ,"
     /QUALIFIER="'"
     /ARRANGEMENT=DELIMITED
     /FIRSTCASE=2
     /IMPORTCASE=ALL
     /VARIABLES=
     Age A3
     COL A4
     Clear A6
     CorrectAnswer A13
     Education A9
     Ethnicity A9
     Gender A6."""

   z = "save outfile = 'C:\YOUR DRIVE PATH HERE\subject " + str(x) + ".sav'."

   print y
   print z
   spss.Submit(y)
   spss.Submit(z)

End Program.

如果您是python的新手,请确保观看预期的空白区域并包含其余的变量,我将这些变量留给了空间。如果收到错误消息,请使用#(例如#spss.Submit())注释掉spss.Submit()命令,并检查python print out是否存在字符串错误。我希望有所帮助!