jcushman / xport

[project has MOVED to https://github.com/selik/xport/]
MIT License
14 stars 5 forks source link

Correction it now works with slight change in R script #7

Closed rogerjdeangelis closed 2 years ago

rogerjdeangelis commented 2 years ago
proc datasets lib=work kill;                                                               
run;quit;                                                                                  

%utlfkil(c:/temp/py_pgm.py);                                                               
%utlfkil(c:/temp/py_pgm.log);                                                              
%utlfkil(c:/temp/example.xpt);                                                             

filename ft15f001 "c:/temp/py_pgm.py";                                                     
parmcards4;                                                                                
import xport.v56                                                                           
import pandas as pd;                                                                       
df = pd.DataFrame({                                                                        
    'ALPHA': ['A','B' , 'C'],                                                              
    'BETA': ['x', 'y', 'z'],                                                               
})                                                                                         
ds = xport.Dataset(df)                                                                     
with open('c:/temp/example.xpt', 'wb') as f:                                               
    f:xport.from_columns(ds,f)                                                             
print(df)                                                                                  
;;;;                                                                                       
run;quit;                                                                                  

* EXECUTE THE PYTHON PROGRAM;                                                              
options noxwait noxsync;                                                                   
filename rut pipe  "c:\Python39\python.exe c:/temp/py_pgm.py 2> c:/temp/py_pgm.log";       
run;quit;                                                                                  

data _null_;                                                                               
  file print;                                                                              
  infile rut;                                                                              
  input;                                                                                   
  put _infile_;                                                                            
  putlog _infile_;                                                                         
run;quit;                                                                                  

libname pyxpt xport "c:/temp/examplefix.xpt";                                              

proc contents data=pyxpt._all_;                                                            
run;quit;                                                                                  

proc print data=pyxpt.sasdata;                                                             
run;quit;                                                                                  

    Obs    NAME       SEX    AGE    HEIGHT    WEIGHT                                       

      1    Alfred      M      14     69.0      112.5                                       
      2    Alice       F      13     56.5       84.0                                       
      3    Barbara     F      13     65.3       98.0                                       
      4    Carol       F      14     62.8      102.5                                       
      5    Henry       M      14     63.5      102.5                                       
      6    James       M      12     57.3       83.0                                       
      7    Jane        F      12     59.8       84.5                                       
      8    Janet       F      15     62.5      112.5                                       
      9    Jeffrey     M      13     62.5       84.0                                       
     10    John        M      12     59.0       99.5                                       
     11    Joyce       F      11     51.3       50.5                                       
     12    Judy        F      14     64.3       90.0                                       
     13    Louise      F      12     56.3       77.0                                       
     14    Mary        F      15     66.5      112.0                                       
     15    Philip      M      16     72.0      150.0                                       
     16    Robert      M      12     64.8      128.0                                       
     17    Ronald      M      15     67.0      133.0                                       
     18    Thomas      M      11     57.5       85.0                                       
     19    William     M      15     66.5      112.0