Skip to content

9.8.1 写入逗号分隔和制表符分隔的数据文件 ​

SAVE TRANSLATE
        /OUTFILE={’file_name’,file_handle}
        /TYPE=CSV
        [/REPLACE]
        [/MISSING={IGNORE,RECODE}]

        [/DROP=var_list]
        [/KEEP=var_list]
        [/RENAME=(src_names=target_names)…]
        [/UNSELECTED={RETAIN,DELETE}]

        [/FIELDNAMES]
        [/CELLS={VALUES,LABELS}]
        [/TEXTOPTIONS DELIMITER=’delimiter’]
        [/TEXTOPTIONS QUALIFIER=’qualifier’]
        [/TEXTOPTIONS DECIMAL={DOT,COMMA}]
        [/TEXTOPTIONS FORMAT={PLAIN,VARIABLE}]

带有 TYPE=CSV 或 TYPE=TAB 的 SAVE TRANSLATE 命令以类似 RFC 4180 所描述的逗号或制表符分隔值格式写入数据。每个变量成为输出的一列,每个个案成为输出的一行。如果指定了 FIELDNAMES,则输出文件顶部的额外一行列出变量名。

CELLS 和 TEXTOPTIONS FORMAT 设置决定取值如何写入输出文件:

CELLS=VALUES FORMAT=PLAIN(默认设置)

以“普通”格式写入变量,忽略变量格式的细节。数值作为普通十进制数字写入,具有足以表示其机器表示中精确值的位数。当指数值小于 -4 或大于 16 时,数值后附带 ‘e’ 及指数。日期以 MM/DD/YYYY 格式写入,时间以 HH:MM:SS 格式写入。WKDAY 和 MONTH 值作为十进制数字写入。

数值默认使用由 SET DECIMAL 设置的句点字符(参见 SET DECIMAL)。使用 DECIMAL=DOT 或 DECIMAL=COMMA 可强制使用特定的句点字符。

CELLS=VALUES FORMAT=VARIABLE

使用变量的打印格式写入变量。数值的首尾空格被移除,字符串值的尾部空格被移除。

CELLS=LABEL FORMAT=PLAIN CELLS=LABEL FORMAT=VARIABLE

在值标签存在时写入值标签,否则按上述方式写入取值本身。

无论 CELLS 和 TEXTOPTIONS FORMAT 如何设置,数值型系统缺失值都输出为单个空格。

对于 TYPE=TAB,制表符分隔取值。对于 TYPE=CSV,TEXTOPTIONS DELIMITER 和 DECIMAL 设置决定一行内分隔取值的字符。如果指定了 DELIMITER,则使用指定的字符串分隔取值。如果未指定 DELIMITER,则默认为:DECIMAL=DOT 时为逗号,DECIMAL=COMMA 时为分号。如果也未给出 DECIMAL,则由 SET DECIMAL 设置的句点字符隐含决定(参见 SET DECIMAL)。

TEXTOPTIONS QUALIFIER 设置指定一个字符,在包含分隔符字符或限定符字符的取值前后输出。默认是双引号(‘"’)。出现在取值内部的限定符字符会写成两个。

基于 GNU PSPP 2.0.1 手册与入门教程整理