Python sas7bdat module usage

后端 未结 4 894
温柔的废话
温柔的废话 2021-02-20 12:41

I have to dump data from SAS datasets. I found a Python module called sas7bdat.py that says it can read SAS .sas7bdat datasets, and I think it would be simpler and more straigh

4条回答
  •  离开以前
    2021-02-20 13:13

    This is only a partial answer as I've found no [easy to read] concrete documentation.

    You can view the source code here

    This shows some basic info regarding what arguments the methods require, such as:

    • readColumnAttributes(self, colattr)
    • readColumnLabels(self, collabs, coltext, colcount)
    • readColumnNames(self, colname, coltext)

    I think most of what you are after is stored in the "header" class returned when creating an object with SAS7BDAT. If you just print that class you'll get a lot of info, but you can also access class attributes as well. I think most of what you may be looking for would be under foo.header.cols. I suspect you use various header attributes as parameters for the methods you mention.

    Maybe something like this will get you closer?

    from sas7bdat import SAS7BDAT
    foo = SAS7BDAT(inFile) #your file here...
    
    for i in foo.header.cols:
        print '"Atrributes"', i.attr
        print '"Labels"', i.label
        print '"Name"', i.name
    

    edit: Unrelated to this specific question, but the type() and dir() commands come in handy when trying to figure out what is going on in an unfamiliar class/library

提交回复
热议问题