如何通过将数据附加到excel / access文件而不是每次都保存新文件来保存SPSS数据?

时间:2017-01-04 17:26:48

标签: syntax odbc spss

我运行SPSS语法来操作数据然后我希望保存数据。这是我现在用来保存SPSS数据的代码:

SAVE TRANSLATE OUTFILE='/filepath/excel_file.xlsx'
  /TYPE=XLS
  /VERSION=12
  /MAP
  /REPLACE
  /FIELDNAMES
  /CELLS=VALUES.

但是,使用这意味着我每次运行此语法时都会创建一个新的excel文件或替换现有文件。有没有什么办法可以在不擦除旧数据的情况下将新数据附加到同一个文件中?最后的文件可以是excel或access。

2 个答案:

答案 0 :(得分:1)

使用Statistics版本24,您可以使用新工作表直接更新现有Excel文件,而无需使用ODBC。在“导出”对话框中,指定工作表名称并选中“将工作表附加到现有文件”。语法可能如下所示。

enter image description here

答案 1 :(得分:0)

这可以使用ODBC完成:

要首先在Excel文件中创建新工作表,请使用:

SAVE TRANSLATE /TYPE=ODBC
  /CONNECT='DSN=Excel Files;DBQ=c:\filepath\excel_file.xlsx;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;'
  /ENCRYPTED
  /MISSING=IGNORE
  /REPLACE
  /TABLE='WorksheetName'
  /KEEP=var1, var2, var3 .

下次,当您想要附加到同一工作表时,或REPLACE使用APPEND

SAVE TRANSLATE /TYPE=ODBC
  /CONNECT='DSN=Excel Files;DBQ=c:\filepath\excel_file.xlsx;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;'
  /ENCRYPTED
  /MISSING=IGNORE
  /APPEND
  /TABLE='WorksheetName'
  /KEEP=var1, var2, var3.

请注意,其中一些是特定于版本的(SPSS和Excel)。要创建自己的语法使用 文件>出口>出口到数据库 选择EXCEL FILES并单击NEXT,然后按照其余部分进行操作,并粘贴到语法。

<强> ADDITION
我建议您在SPSS文件中累积数据:

prepare your data...
*if the ODBC export works for you, export now using `/append`.
add files /file=* /file="filepath\your previous accumulated data.sav'.
save outfile="filepath\your previous accumulated data.sav'.
*if you have trouble with the ODBC export, you can just save the whole accumulated file to excel.