【发布时间】:2021-08-12 16:00:46
【问题描述】:
我在 SPSS 中有一个数据集,请参阅下面的示例数据集。这只是一个示例,真正的示例由单独的外部进程提供,并且具有更多的列和行。在示例中,空值设置为 " ",但这也是 SPSS 中提供空值的方式,它在内部被视为空值/空值/缺失值。
data list list/FieldNam(a20) FormName(a20) FieldType(a20) Choices(a50) Required(F1) Identifier(a1) Minimum(f8) Maximum(f8).
begin data
"Field 1" "Form abc" "text" " " 1 "y" " " " "
"Field 2" "Form abc" "datetime" " " 1 "y" " " " "
"Field 3" "Form xyz" "radio" "0=never | 1=sometimes | 2=often | 3=always" " " " " " " " "
"Field 4" "Form xyz" "text" " " " " " " "1" "100"
"Field 5" "Form xyz" "radio" "0=no | 1=yes" " " " " " " " "
end data.
然后我使用以下语法将其保存为 CSV 文本文件。
SAVE TRANSLATE
/TYPE = CSV
/FIELDNAMES
/TEXTOPTIONS DELIMITER=',' QUALIFIER='"'
/OUTFILE = 'C:\Temp\my_csv_file.csv'
/ENCODING='Windows-1252'
/REPLACE.
生成的 CSV 文件包含以下内容,空值使用单个空格
FieldNam,FormName,FieldType,Choices,Required,Identifier,Minimum,Maximum
Field 1,Form abc,text, ,1,y, ,
Field 2,Form abc,datetime, ,1,y, ,
Field 3,Form xyz,radio,0=never | 1=sometimes | 2=often | 3=always, , , ,
Field 4,Form xyz,text, , , ,1,100
Field 5,Form xyz,radio,0=no | 1=yes, , , ,
但是,我希望空值只是空的,如下所示:
FieldNam,FormName,FieldType,Choices,Required,Identifier,Minimum,Maximum
Field 1,Form abc,text,,1,y,,
Field 2,Form abc,datetime,,1,y,,
Field 3,Form xyz,radio,0=never | 1=sometimes | 2=often | 3=always,,,,
Field 4,Form xyz,text,,,,1,100
Field 5,Form xyz,radio,0=no | 1=yes,,,,
所以我的问题是,是否可以像这样导出 SPSS 数据集?
导出的 csv 文件将用作另一个系统的输入,它无法处理 , , 空值。我知道我可以在记事本中打开它,然后在事后进行搜索和替换。但我想尽可能地自动化它,因为导出会更频繁地使用,所以这样会节省很多工作。
【问题讨论】: