【问题标题】:How can I save SPSS data by appending data into an excel/access file instead of saving a new file each time?如何通过将数据附加到 excel/access 文件中来保存 SPSS 数据,而不是每次都保存一个新文件?
【发布时间】:2017-05-19 02:23:32
【问题描述】:

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

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

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

【问题讨论】:

    标签: syntax odbc spss


    【解决方案1】:

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

    【讨论】:

    • 这个功能需要Statistics和Office的位数匹配吗?
    • 这是一个很棒的功能 - 很高兴知道! Jon,“语法可能看起来像这样”听起来您打算添加一些示例语法?
    • 你没看到语法吗?我将其添加为图像以利用颜色编码。
    • Jignesh,No 位数无所谓,因为 SAVE TRANSLATE 直接写入文件而不是通过 ODBC api。
    • 嗯,你是对的 - 由于某种原因,我第一次看时图像没有显示......
    【解决方案2】:

    这可以使用 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,然后继续执行其余部分,然后粘贴到语法。

    添加
    我建议您也将数据累积到 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.
    

    【讨论】:

    • 请记住,您的 SPSS Statistics 和 MS Office 的位数(32 位与 64 位)必须匹配才能正常工作。如果您出于某种原因被困在 32 位 MS Office 上,那么这是安装 SPSS Statistics 32 位的情况。
    • @eli-k 我按照你提到的方式运行了语法,但我收到了一个错误,上面写着ODBC subsystem has issued an error which prevents the processing of SAVE TRANSLATE ODBC request。此外,错误读取为Data source name not found and no default driver specified。您能否提供设置此连接或任何具有此信息的资源的步骤?
    • 另外,@eli-k,当我转到 FILE > EXPORT > EXPORT TO DATABASE 时,我没有“Excel 文件”选项。请告诉我如何获得此选项?
    • 我实际上并没有足够的知识来帮助你解决这个问题。我建议您将此作为单独的问题添加。在那个问题中,还请发布您的操作系统是什么,是 32 位还是 64 位,以及您的 office 和 SPSS 版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多