[EpiData-list] Epidata 4.6.0.4 SPSS-Export

EpiData development and support epidata-list at lists.umanitoba.ca
Tue Dec 15 03:45:48 CST 2020


Dear Michael,

thank you for this hint! That makes things much easier. If someone 
nevertheless needs it, I attach a spss syntax, that produces a list of 
string variables in the datafile and than deletes all leading and ending 
quotation marks (the first and the last character) in these string 
variables. It can be included in the spss import syntax.

Best Regards,

Juergen


Am 15.12.2020 um 10:32 schrieb EpiData development and support:
> Dear Juergen,
> this is right, the SPSS-Export doesn't work right. The used SPSS- 
> Command "data list" is a lit bit out of date and could not handle 
> qualifiers for Textvariables.
>
> This is a workaround:
> Do the SPSS-Export.
> Afterwards do a second export, the "CSV-Export", and overwrite the 
> existing file.
> In the Specifications for the CSV-Export you can disable/delete the 
> Quote Character.
> Greetings
> Michael
>
> Am 15.12.2020 10:08 schrieb EpiData development and support:
>> Dear all,
>>
>> I have a little problem with the SPSS-Export of the Epidata-Files.
>> When you export string variables, you can specify the variable
>> delimiter (e.g. "|") but not the text delimiter. The result is a csv
>> file, that is imported in SPSS with quotation marks at the start and
>> the end of every string variable, even if the variable is empty. I
>> found no way to delete these quotation marks during the spss import
>> process except with a quite complicated macro.
>>
>> Is it possible to change the SPSS export?
>>
>> Kind Regards,
>>
>> Juergen Spiegel
>>
>>
>> -- 
>> ***********************************************************
>> Freiburger Institut fuer angewandte Sozialwissenschaft e.V.
>> FIFAS
>> Erasmusstr. 16, D-79098 Freiburg
>>
>> Telefon: +49-761-288364
>> Fax:     +49-761-2927493
>> Web:      http://www.fifas.de
>> E-Mail:     info at fifas.de
>>
>> _______________________________________________
>> EpiData-list mailing list
>> EpiData-list at lists.umanitoba.ca
>> http://lists.umanitoba.ca/mailman/listinfo/epidata-list
> _______________________________________________
> EpiData-list mailing list
> EpiData-list at lists.umanitoba.ca
> http://lists.umanitoba.ca/mailman/listinfo/epidata-list

-- 
***********************************************************
Freiburger Institut fuer angewandte Sozialwissenschaft e.V.
FIFAS
Erasmusstr. 16, D-79098 Freiburg

Telefon: +49-761-288364
Fax:     +49-761-2927493
Web: 	 http://www.fifas.de
E-Mail:	 info at fifas.de

-------------- next part --------------
* Encoding: UTF-8.

* In allen vorhandenen Stringvariablen werden die führenden und schließenden Anführungszeichen, die bei dem Import aus Epidata .epx-Dateien entstehen, gelöscht.
* Die Liste der Stringvariablen kann mit "!stringliste" aufgerufen werden.

* Diese Datei kann mit "INCLUDE" in andere Läufe eingebunden werden (nicht mit "INSERT").

* JSp 10/2020.

SET ERRORS=NONE.
SET MESSAGES=NONE.

SAVE OUTFILE='c:\\ablage\\temp.sav'.

FLIP.

* numerische und Stringvariablen markieren.
IF NOT SYSMIS(var001) var001=1.
EXECUTE.

IF SYSMIS(var001) var001=0.
SELECT IF (var001=0).

* letzte Variable markieren.
MATCH FILES FILE=* /BY var001 /LAST=letzter.

* Makro in Datei schreiben, der eine Liste aller Stringvariablen enthält.
DO IF $CASENUM=1.
WRITE OUTFILE="c:\\ablage\\Liste_Stringvariablen.sps" /"DEFINE !stringliste()".
END IF.

DO IF var001 = 0.
WRITE OUTFILE="c:\\ablage\\Liste_Stringvariablen.sps" /" " case_lbl.
END IF.

DO IF letzter and var001=0.
WRITE OUTFILE="c:\\ablage\\Liste_Stringvariablen.sps" /"!ENDDEFINE.".
END IF.
EXECUTE.

INSERT FILE="c:\\ablage\\Liste_Stringvariablen.sps".

* Ursprüngliche Datei wieder laden.
GET FILE='c:\\ablage\\temp.sav'.

* Liste der Stringvariablen aufrufen und jeweils den Inhalt aller Variablen um das erste und letzte Zeichen - das " - kürzen.
DO REPEAT vname = !stringliste.
COMPUTE laenge=0.
IF (vname NE "") laenge=CHAR.LENGHT(vname)-2.
IF (CHAR.SUBSTR(vname,1,1) = '"')    vname= CHAR.SUBSTR(vname,2,laenge).
END REPEAT.
EXECUTE.

DELETE VARIABLES laenge.
EXECUTE.    


More information about the EpiData-list mailing list