code: def write_csv(self, file: str, table: str, libref: str ="", nosub: bool =False, dsopts: dict = None, opts: dict = None) -> 'The LOG showing the results of the step':
        
        dsopts = dsopts if dsopts is not None else {}
        opts = opts if opts is not None else {}
  
        code  = "options nosource;\n"
        code += "filename x \""+file+"\";\n"
        code += "proc export data="+libref+"."+table+self._sb._dsopts(dsopts)+" outfile=x dbms=csv replace; "
        code += self._sb._expopts(opts)+" run\n;"
        code += "options source;\n"
  
        if nosub:
           print(code)
        else:
           ll = self.submit(code, "text")
           return ll['LOG']
docs: This method will export a SAS Data Set to a file in CSV format.
        file    - the OS filesystem path of the file to be created (exported from the SAS Data Set)
        table   - the name of the SAS Data Set you want to export to a CSV file
        libref  - the libref for the SAS Data Set.
        dsopts  - a dictionary containing any of the following SAS data set options(where, drop, keep, obs, firstobs)
        opts    - a dictionary containing any of the following Proc Export options(delimiter, putnames)