SPSS语法,用于导入带有转义双引号的RFC 4180 CSV文件

SPSS语法,用于导入带有转义双引号的RFC 4180 CSV文件,csv,import,spss,rfc4180,Csv,Import,Spss,Rfc4180,如何将RFC4180标准CSV文件读入SPSS?具体来说,如何处理具有嵌入双引号的字符串值,这些值(正确地)用第二个双引号转义 下面是具有问题值的记录的一个实例: 2985909844,,3,3,3,3,3,3,1,2,2,"I recall an ad for ""RackSpace"", but I don't recall if this was here or in another page.",200,1,1,1,0,1,0,Often 我使用的SPSS语法如下所示: GET DAT

如何将RFC4180标准CSV文件读入SPSS?具体来说,如何处理具有嵌入双引号的字符串值,这些值(正确地)用第二个双引号转义

下面是具有问题值的记录的一个实例:

2985909844,,3,3,3,3,3,3,1,2,2,"I recall an ad for ""RackSpace"", but I don't recall if this was here or in another page.",200,1,1,1,0,1,0,Often
我使用的SPSS语法如下所示:

GET DATA
  /TYPE=TXT
  /FILE="/Users/pieter/Work/Stackoverflow/2013_StackOverflowRecoded.csv"
  /IMPORTCASE=ALL
  /ARRANGEMENT=DELIMITED
  /DELCASE=LINE
  /FIRSTCASE=2
  /DELIMITERS=","
  /QUALIFIER='"'
  /VARIABLES=  ... list of column names...

导入成功,但在遇到此类值后偏离轨道并发出警告。

恐怕这是SPSS中的一个错误,因此无法解决

如果您觉得有帮助,您可能需要询问IBM支持团队关于此问题的信息,并在此处发布他们的答案


一种解决方法是将*.csv文件中转义的双引号更改为其他引号类型。如果在类似UNIX的操作系统上使用高级文本编辑器(如记事本+)或“sed”命令行工具,这应该只是一点工作。

在当前版本的统计数据中尝试一个示例(22)如果使用文本向导生成语法,则会正确处理加倍标识符,生成的语法中的字段太短,因此您需要增加宽度。

现在,使用vi
全局删除嵌入的双引号:%s///g
在PSPP中类似的行为,这不是我想要的,但对专有标准的忠实程度令人惊讶。在尝试使用统计数据22时,我收到了警告。但是我没有很好地检查数据是否受到影响。粘贴语法并根据需要增加变量宽度