18 Invoking pspp-convert

pspp-convert is a command-line utility accompanying PSPP. It reads an SPSS or SPSS/PC+ system file or SPSS portable file or encrypted SPSS syntax file input and writes a copy of it to another output in a different format. Synopsis:

pspp-convert [options] input output

pspp-convert --help

pspp-convert --version

The format of input is automatically detected, when possible. The character encoding of old SPSS system files cannot always be guessed correctly, and SPSS/PC+ system files do not include any indication of their encoding. Use -e encoding to specify the encoding in this case.

By default, the intended format for output is inferred based on its extension:

csv
txt

Comma-separated value. Each value is formatted according to its variable’s print format. The first line in the file contains variable names.

sav
sys

SPSS system file.

por

SPSS portable file.

sps

SPSS syntax file. (Only encrypted syntax files may be converted to this format.)

pspp-convert can convert most input formats to most output formats. Encrypted SPSS file formats are exceptions: if the input file is in an encrypted format, then the output file will be the same format (decrypted). To decrypt such a file, specify the encrypted file as input. The output will be the equivalent plaintext file. Options for the output format are ignored in this case.

The password for encrypted files can be specified a few different ways. If the password is known, use the -p option (documented below) or allow pspp-convert to prompt for it. If the password is unknown, use the -a and -l options to specify how to search for it, or --password-list to specify a file of passwords to try.

Use -O format to override the inferred format or to specify the format for unrecognized extensions.

pspp-convert accepts the following general options:

-O format
--output-format=format

Sets the output format, where format is one of the extensions listed above, e.g.: -O csv. Use --help to list the supported output formats.

-c maxcases
--cases=maxcases

By default, all cases are copied from input to output. Specifying this option to limit the number of cases written to output to maxcases.

-e charset
--encoding=charset

Overrides the encoding in which character strings in input are interpreted. This option is necessary because old SPSS system files, and SPSS/PC+ system files, do not self-identify their encoding.

-k variable
--keep=variable

By default, pspp-convert includes all the variables from the input file. Use this option to list specific variables to include; any variables not listed will be dropped. The variables in the output file will also be reordered into the given order. The variable list may use TO in the same way as in PSPP syntax, e.g. if the dictionary contains consecutive variables a, b, c, and d, then --keep='a to d' will include all of them (and no others).

-d variable
--drop=variable

Drops the specified variables from the output.

When --keep and --drop are used together, --keep is processed first.

-h
--help

Prints a usage message on stdout and exits.

-v
--version

Prints version information on stdout and exits.

The following options affect CSV output:

--recode

By default, pspp-convert writes user-missing values to CSV output files as their regular values. With this option, pspp-convert recodes them to system-missing values (which are written as a single space).

--no-var-names

By default, pspp-convert writes the variable names as the first line of output. With this option, pspp-convert omits this line.

--labels

By default, pspp-convert writes variables’ values to CSV output files. With this option, pspp-convert writes value labels.

--print-formats

By default, pspp-convert writes numeric variables as plain numbers. This option makes pspp-convert honor variables’ print formats.

--decimal=decimal

This option sets the character used as a decimal point in output. The default is ‘.’.

--delimiter=delimiter

This option sets the character used to separate fields in output. The default is ‘,’, unless the decimal point is ‘,’, in which case ‘;’ is used.

--qualifier=qualifier

The option sets the character used to quote fields that contain the delimiter. The default is ‘"’.

The following options specify how to obtain the password for encrypted files:

-p password
--password=password

Specifies the password to use to decrypt an encrypted SPSS system file or syntax file. If this option is not specified, pspp-convert will prompt interactively for the password as necessary.

Be aware that command-line options, including passwords, may be visible to other users on multiuser systems.

When used with -a (or --password-alphabet) and -l (or --password-length), this option specifies the starting point for the search. This can be used to restart a search that was interrupted.

-a alphabet
--password-alphabet=alphabet

Specifies the alphabet of symbols over which to search for an encrypted file’s password. alphabet may include individual characters and ranges delimited by ‘-’. For example, -a a-z searches lowercase letters, -a A-Z0-9 searches uppercase letters and digits, and -a ' -~' searches all printable ASCII characters.

-l max-length
--password-length=max-length

Specifies the maximum length of the passwords to try.

--password-list=file

Specifies a file to read containing a list of passwords to try, one per line. If file is -, reads from stdin.