This syntax might be helpful for anyone attempting to split out files.  There are a few options below.
* Encoding: UTF-8.
*all python code needs to be run in unicode for v29 >, this includes jon peck's extensions.
*PYTHON SPLIT *2.
*##############################################################################.
begin program.
import os, pandas as pd
a_frame = pd.read_spss('directory/active 5 19 2025.sav')
os.makedirs("split_directory", exist_ok=True)
os.chdir('split_directory')
a_frame = a_frame.sort_values(by='meno')
for value in a_frame['meno2'].unique():
    temp_file = a_frame[a_frame['meno2'] == value]
    temp_file.to_csv(f'{value} splitter.csv', index=False)
    temp_file.to_excel(f'{value} splitter.xlsx', index=False)
end program.
begin program.
import os
import pandas as pd
a_frame = pd.read_spss('directory/active 5 19 2025.sav')
os.makedirs("split_directory", exist_ok=True)
os.chdir('split_directory')
a_frame = a_frame.sort_values(by='meno')
for value, group in a_frame.groupby('meno2'):
    group.to_csv(f'{value} splitter2.csv', index=False)
    group.to_excel(f'{value} splitter2.xlsx', index=False)
end program.
*##############################################################################.
*SPSS EXTENSION HUB SPLIT AND PROCESS. V29 AND CALL .SPS FILES FROM SPLIT CONVERT.  For sps guidance see John Peck's documentation on SPSSinc process files. 
*##############################################################################.
dataset close all.
get file='directory/active 5 19 2025.sav'.
string slabel(a55).
compute slabel=VALUELABEL(meno2).
sort cases by meno.
*file split.
spssinc split dataset splitvar = slabel
/OUTPUT DIRECTORY='split_directory' DELETECONTENTS = NO
FILENAME = "${slabel} spssinc"
/OPTIONS NAMES =VALUES PRINTLIST=YES.
*process sav to csv.
SPSSINC PROCESS FILES INPUTDATA='split_directory\*.sav'
SYNTAX="sps_directory\ConvertSavToCSV.sps"
    OUTPUTDATADIR= "split_directory" OUTPUTDATATYPE=CSV.
*process sav to xls.
SPSSINC PROCESS FILES INPUTDATA='split_directory\*.sav'
SYNTAX="sps_directory\ConvertSavToXLS.sps"
    OUTPUTDATADIR= "split_directory" OUTPUTDATATYPE=xls.
*##############################################################################.
*SPSS MACRO SPLIT CSV.
*##############################################################################.
dataset close all.
get file='directory/active.sav'.
string slabel(a55).
compute slabel=VALUELABEL(meno2).
sort cases by meno.
SAVE OUTFILE='split_directory\mydata.sav'.
* Now start the job.
set mprint=on.
*//////////////////////////////////////////.
DEFINE !SPLIT (var=!TOKENS(1) /value=!TOKENS(1) )
TEMPORARY.
SELECT IF (!var=!value).
SAVE TRANSLATE OUTFILE=!QUOTE(!CONCAT('split_directory\',!EVAL(!UNQUOTE(!value)),'.csv'))
  /TYPE=CSV
  /ENCODING='Locale'
  /MAP
  /REPLACE
  /FIELDNAMES
  /CELLS=LABELS.
execute.
!ENDDEFINE.
*//////////////////////////////////////////.
* Find all different existing values of cat1.
AGGREGATE  /OUTFILE=*
  /BREAK=slabel  /notused = N.
* Write a syntax file which will call the above macro.
WRITE OUTFILE='split_directory\temp.sps'
 /'!SPLIT var=slabel value="'slabel'".'.
Execute.
* Get the original data file and do the macro calls.
GET FILE='split_directory\mydata.sav'.
insert file = 'split_directory\temp.sps'.
*##############################################################################.
*SPSS MACRO SPLIT XLSX.
*##############################################################################.
dataset close all.
get file='directory/active 5 19 2025.sav'.
string slabel(a55).
compute slabel=VALUELABEL(meno2).
sort cases by meno.
SAVE OUTFILE='split_directory\mydata.sav'.
* Now start the job.
set mprint=on.
*//////////////////////////////////////////.
DEFINE !SPLIT (var=!TOKENS(1) /value=!TOKENS(1) )
TEMPORARY.
SELECT IF (!var=!value).
SAVE TRANSLATE OUTFILE=!QUOTE(!CONCAT('split_directory\',!EVAL(!UNQUOTE(!value)),'.xlsx'))
  /TYPE=XLS
  /VERSION=12
  /MAP
  /FIELDNAMES VALUE=LABELS
  /CELLS=LABELS
  /EXCELOPTIONS SHEET='sheet1'
  /REPLACE.
execute.
!ENDDEFINE.
* Find all different existing values of cat1.
AGGREGATE  /OUTFILE=*
  /BREAK=slabel  /notused = N.
* Write a syntax file which will call the above macro.
WRITE OUTFILE='split_directory\temp.sps'
 /'!SPLIT var=slabel value="'slabel'".'.
Execute.
* Get the original data file and do the macro calls.
GET FILE='split_directory\mydata.sav'.
insert file = 'split_directory\temp.sps'.
*##############################################################################.
*PYTHON + SPSS MODULES HYBRID CSV.
*##############################################################################.
dataset close all.
get file='directory/active 5 19 2025.sav'.
string slabel(a55).
compute slabel=VALUELABEL(meno2).
sort cases by meno.
BEGIN PROGRAM.
import spss, spssdata, os
splitvar = "slabel"  # Change to your split variable
outdir = r"split_directory"
# Get unique values for splitvar using spssdata
with spssdata.Spssdata() as cursor:
    idx = cursor.namelist.index(splitvar)
    unique_vals = set(row[idx] for row in cursor)
for v in unique_vals:
    v_quoted = f'"{v}"' if isinstance(v, str) else str(v)
    outfile = f"{outdir}/{str(v).strip()}_split88.csv"
    spss.Submit(f"""
    TEMPORARY.
    SELECT IF ({splitvar} = {v_quoted}).
    SAVE TRANSLATE OUTFILE='{outfile}'
      /TYPE=CSV
      /ENCODING='Locale'
      /MAP
      /REPLACE
      /FIELDNAMES
      /CELLS=LABELS.
execute.
    """)
END PROGRAM.
*##############################################################################.
*PYTHON + SPSS MODULES HYBRID XLSX.
*##############################################################################.
dataset close all.
get file='directory/active 5 19 2025.sav'.
string slabel(a55).
compute slabel=VALUELABEL(meno2).
sort cases by meno.
BEGIN PROGRAM.
import spss, spssdata, os
splitvar = "slabel"  # Change to your split variable
outdir = r"split_directory"
# Get unique values for splitvar using spssdata
with spssdata.Spssdata() as cursor:
    idx = cursor.namelist.index(splitvar)
    unique_vals = set(row[idx] for row in cursor)
for v in unique_vals:
    v_quoted = f'"{v}"' if isinstance(v, str) else str(v)
    outfile = f"{outdir}/{str(v).strip()}_split88.xlsx"
    spss.Submit(f"""
    TEMPORARY.
    SELECT IF ({splitvar} = {v_quoted}).
    SAVE TRANSLATE OUTFILE='{outfile}'
      /TYPE=XLS
      /VERSION=12
      /MAP
      /FIELDNAMES VALUE=LABELS
      /CELLS=LABELS
      /EXCELOPTIONS SHEET='sheet1'
      /REPLACE.
execute.
    """)
END PROGRAM.
*##############################################################################.
*append below.
dataset close all.
get file='directory/active 5 19 2025.sav'.
string slabel(a55).
compute slabel=VALUELABEL(meno2).
sort cases by meno.
BEGIN PROGRAM.
import spss, spssdata, os
splitvar = "slabel"  # Change to your split variable
outdir = r"split_directory"
# Get unique values for splitvar using spssdata
with spssdata.Spssdata() as cursor:
    idx = cursor.namelist.index(splitvar)
    unique_vals = set(row[idx] for row in cursor)
for v in unique_vals:
    v_quoted = f'"{v}"' if isinstance(v, str) else str(v)
    outfile = f"{outdir}/{str(v).strip()}_split88.xlsx"
    spss.Submit(f"""
    TEMPORARY.
    SELECT IF ({splitvar} = {v_quoted}).
    SAVE TRANSLATE OUTFILE='{outfile}'
      /TYPE=XLS
      /VERSION=12
      /MAP
      /FIELDNAMES VALUE=LABELS
      /CELLS=LABELS
      /EXCELOPTIONS SHEET='sheet2'
      /append.
execute.
    """)
END PROGRAM.
dataset close all.
get file='directory/active 5 19 2025.sav'.
string slabel(a55).
compute slabel=VALUELABEL(meno2).
sort cases by meno.
BEGIN PROGRAM.
import spss, spssdata, os
splitvar = "slabel"  # Change to your split variable
outdir = r"split_directory"
# Get unique values for splitvar using spssdata
with spssdata.Spssdata() as cursor:
    idx = cursor.namelist.index(splitvar)
    unique_vals = set(row[idx] for row in cursor)
for v in unique_vals:
    v_quoted = f'"{v}"' if isinstance(v, str) else str(v)
    outfile = f"{outdir}/{str(v).strip()}_split88.xlsx"
    spss.Submit(f"""
    TEMPORARY.
    SELECT IF ({splitvar} = {v_quoted}).
    SAVE TRANSLATE OUTFILE='{outfile}'
      /TYPE=XLS
      /VERSION=12
      /MAP
      /FIELDNAMES VALUE=LABELS
      /CELLS=LABELS
      /EXCELOPTIONS SHEET='sheet3'
      /append.
execute.
    """)
END PROGRAM.
------------------------------
Art Jack
------------------------------