将mass.csv文件转换为SPSS文件

将mass.csv文件转换为SPSS文件,csv,type-conversion,spss,Csv,Type Conversion,Spss,我做了一些搜索,但仍然没有找到问题的答案。我有大量的.csv文件,我想将其转换为SPSS文件。假设我有1000个.csv文件,我想将它们全部放入1000个SPSS文件中。我可以通过要求SPSS从.csv读取数据来逐个文件地执行此操作,这需要单击几下。然而,由于我有1000个文件,我正在寻找一种方法来做到这一点,而不必点击几千次,也不必犯很多错误。一般来说,我对编程非常陌生,所以我希望能得到一些虚拟提示。非常感谢 *更新: 我刚刚包含了指向examplar.csv和.sav文件的链接。 所有.cs

我做了一些搜索,但仍然没有找到问题的答案。我有大量的.csv文件,我想将其转换为SPSS文件。假设我有1000个.csv文件,我想将它们全部放入1000个SPSS文件中。我可以通过要求SPSS从.csv读取数据来逐个文件地执行此操作,这需要单击几下。然而,由于我有1000个文件,我正在寻找一种方法来做到这一点,而不必点击几千次,也不必犯很多错误。一般来说,我对编程非常陌生,所以我希望能得到一些虚拟提示。非常感谢

*更新: 我刚刚包含了指向examplar.csv和.sav文件的链接。
所有.csv文件都是相同的。这些数据来自同一个实验,但来自不同的人类受试者。

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

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

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

您可以使用SPSSINC process files extension命令在通配符或显式列表指定的大量文件上迭代一组语法。您编写了一个应应用于每个输入的语法文件。在该文件中,可以使用流程文件定义的文件句柄或宏来打开文件。然后对其运行任意语法,在本例中,使用输入宏生成输出文件名并运行SAVE命令


安装命令后,“实用程序”菜单上会显示流程文件作为流程数据文件。它需要Python Essentials,并且从版本23开始是Essentials的一部分。对于V22,您可以从实用程序菜单安装它;对于较旧的版本,您需要从SPSS社区网站www.ibm.com/developerworks/spssdevcentral>下载SPSS统计数据>扩展命令并通过实用程序进行安装。

我会使用python模块和一个范围循环来实现它……这对我来说很有用,因为每个.csv文件都被命名为subject 1、subject 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新手,请确保注意预期的空白,并包含其余变量,我将其留空。如果收到错误消息,请使用ex.spss.Submit注释掉spss.Submit命令,并检查python打印输出中的字符串错误。我希望这有帮助

您是否尝试过通过图形用户界面导入一个简单的CSV文件并将其保存为SPSS文件?您的意思是.SAV,并查看其中的内容?发布CSV和相应的SPSS文件怎么样?你好,马克,非常感谢你的回复。我想你说的正是我一直在做的。我基本上只是从SPSS中打开.csv文件,单击“打开数据”,然后在文本导入向导中指定数据在SPSS中的显示方式,最后将其保存为.sav文件。是的,我是说.sav文件。很抱歉,我查看了,但似乎无法在stackoverflow上发布整个文件。或者你的意思是我应该上传文件到某个地方,比如Dropbox,然后发布链接?你可以在你的帖子中粘贴几行简单的CSV,是的。还有一个指向.sav版本Dropbox文件的链接,是的。你可能会发现你现在有足够的点数来发布链接-嗨,马克,谢谢你这么耐心。我刚刚编辑了这篇文章,包括了这两个文件。他们应该包含相同的信息,只是他们有不同的格式。你所有的csv文件中的变量是相同的,还是不同的?我对这个论坛完全陌生,所以我从来不知道我的问题收到了这么多的答复。非常感谢你,JKP,希望你能原谅我迟到,谢谢!我现在只看了你的回复,但同时我也试着学习一些Python,这对我来说太棒了。谢谢你,蒂姆!太棒了,谢谢你的反馈!Python完全改变了我使用SPSS的方式,现在没有它我什么都做不了: