CSV到SPSS中的嵌套数据分解

CSV到SPSS中的嵌套数据分解,csv,spss,Csv,Spss,我是SPSS平台的新手,我需要在SPSS中处理一个复杂的数据集 数据是这样的 header1|header2|header3|{header4_a - header4_b - header4_c} |{header5_a - header5_b - header5_c} |{header6_a - header6_b - header6_c} 1|some-text-can be here| 2 |{ Alex - John,Doe - 20}|{ Maria - Maria,Doe - 30

我是SPSS平台的新手,我需要在SPSS中处理一个复杂的数据集

数据是这样的

header1|header2|header3|{header4_a - header4_b - header4_c} |{header5_a - header5_b - header5_c} |{header6_a - header6_b - header6_c} 
1|some-text-can be here| 2 |{ Alex - John,Doe - 20}|{ Maria - Maria,Doe - 300}
2|some-other text| 1 |{ Mike- Mike,Doe - 400} 

我希望获得一些关于如何打开此文件的指导,以便我可以分别处理每个header4\u a header4\u b等文件。

我建议您仅使用管道作为分隔符来阅读该文件。标题4a-4c将被读入单个变量(与5a-5c相同),如您所述,很容易将其分为3个变量

使用以下语法:

*first creating some fake data to experiment on.
data list list/header4(a30).
begin data
"{Alex - John,Doe - 5005}"
"{ Maria - Maria,Doe - 300}"
end data.

* now cleaning and dividing `header4`.
string header4_a header4_b header4_c (a20).

compute header4=replace(replace(header4,"{",""),"}","").

compute header4_a=char.substr(header4,1,char.index(header4,"-")-1).
compute header4_b=char.substr(header4,char.index(header4,"-")+1).
compute header4_c=char.substr(header4_b,char.index(header4_b,"-")+1).
compute header4_b=char.substr(header4_b,1,char.index(header4_b,"-")-1).
exe.

我很乐意提供帮助,但需要更多关于您当前数据结构的说明,以及您希望获得的信息。如果您能发布一些示例数据,也可能会有所帮助。@eli-k首先感谢您的回复。我只想使用管道(|)和连字符(-)作为分隔符来分解csv,同时删除大括号({,}),但忽略标题2下的任何连字符。将编辑我的原始帖子,添加一行data.ty以帮助解决问题。虽然>警告#651>CHAR.SUBSTR函数的第三个参数无效,但我还是遇到了这个错误。>命令行:167当前案例:1当前拆分文件组:1数据从{Alex-John,Doe-5005}变为Alex | John,Doe-500 | 5005(管道用于指示列)我纠正了一个输入错误并添加了一些示例数据-代码现在似乎可以工作了-尝试一下。出于某种原因,我得到了相同的错误消息,但至少这次所有数据都被完美地分割了,所以我会接受它的回答。再次感谢我使用SPSS的第一步,因为我是一个新手,不想提出新问题,但现在我拆分了数据,我想绘制一个条形图,结合所有的header4_b.header5_b等数据。寻找将所有header4_b数据复制到新var b的东西,然后直接在下面添加来自5_b等的数据。非常感谢您花费的时间。听起来您需要处理
varstocases
,但实际上您应该发布一个新问题。