Sponsored Content
Full Discussion: SAS dataset to CSV
Top Forums UNIX for Advanced & Expert Users SAS dataset to CSV Post 303017887 by Master_Mind on Wednesday 23rd of May 2018 10:43:29 PM
Old 05-23-2018
Thanks, can you let me know how to invoke this code. Getting below error
Code:
$ python test.py test.sas7bdat

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    from sas7bdat import SAS7BDAT
ImportError: No module named sas7bdat


Inside test.py
#!/usr/bin/python
#sas7bdat_csv.py
#Usage: python sas7bdat_csv.py sample.sas7bdat
import sys
from sas7bdat import SAS7BDAT

with SAS7BDAT(sys.argv[1]) as f:
    for row in f:
        print (row)
f.close()

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Accessing Mainframe Dataset

Hi May I know is there a way to read/copy a mainframe (IBM OS/390) dataset (sequential file) into a UNIX directory? Thank you for your time. IcyGuava (4 Replies)
Discussion started by: IcyGuava
4 Replies

2. Shell Programming and Scripting

Numbers of records in SAS dataset

I'm declaring a variable within a Korn shell to represent the total number of records in a SAS dataset and could use a little help with the syntax. This is what I have thus far: #!/usr/bin/ksh RecCount = `sas -x "select count(*) from /users/abc/123/sas_dataset.sas7bdat"` (2 Replies)
Discussion started by: sasaliasim
2 Replies

3. Programming

Finding number of records in SAS dataset

I am running the following Korn shell script: #!/usr/bin/ksh num_records=`sas "select count(*) from /users/abc/123/sasdata.sas7bdat"` echo "$num_records" The script keeps returning an invalid file error even though I am certain that the file really exists. Does anyone see anything wrong... (1 Reply)
Discussion started by: sasaliasim
1 Replies

4. Shell Programming and Scripting

Normalize a dataset with AWK

Hello everyone, i have to normalize this dataset (with 20.000 rows): 2,4,4,3,2,7,8,2,9,11,7,7,1,8,5,6 4,7,5,5,5,5,9,6,4,8,7,9,2,9,7,10 7,10,8,7,4,8,8,5,10,11,2,8,2,5,5,10 4,9,5,7,4,7,7,13,1,7,6,8,3,8,0,8,8 6,7,8,5,4,7,6,3,7,10,7,9,3,8,3,7,8 in this form:... (1 Reply)
Discussion started by: [raven]
1 Replies

5. Shell Programming and Scripting

Computing dataset for a specific record

Hello everybody, I want to compute a data file in awk. I am new in awk and I need your help. The data file has the following fields. It has thousands of records. Col1 Col2 Col3 Col4 Col5 0.85 0.07 Fre 42:86 25 0.73 0.03 frp 21:10 28 0.64... (12 Replies)
Discussion started by: ubeejani
12 Replies

6. Shell Programming and Scripting

How to extract a subset from a huge dataset

Hi, All I have a huge file which has 450G. Its tab-delimited format is as below x1 A 50020 1 x1 B 50021 8 x1 C 50022 9 x1 A 50023 10 x2 D 50024 5 x2 C 50025 7 x2 F 50026 8 x2 N 50027 1 : : Now, I want to extract a subset from this file. In this subset, column 1 is x10, column 2 is... (3 Replies)
Discussion started by: cliffyiu
3 Replies

7. Programming

Dataset Library for C?

I am looking for an opensource dataset library for C. Something equivalent to ADO.Net. Specifically, I am looking for the following features: 1. Create a Dataset from a file (XML or CSV). 2. Create a Dataset from a select query using an ODBC connection. 3. Load a created Dataset into a... (1 Reply)
Discussion started by: a_programmer
1 Replies

8. Solaris

flarecreate for zfs root dataset and ignore multiple dataset

Hi All, I want to write a script to create flar images on multiple servers. In non zfs filesystem I am using -X option to refer a file to exclude mounts on different servers. but on ZFS -X option is not working. I want multiple mounts to be ignore on ZFS base system during flarecreate. I... (0 Replies)
Discussion started by: uxravi
0 Replies

9. Solaris

ZFS - Dataset / pool name are the same...cannot destroy

I messed up my pool by doing zfs send...recive So I got the following : zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 928G 17.3G 911G 1% 1.00x ONLINE - tank1 928G 35.8G 892G 3% 1.00x ONLINE - So I have "tank1" pool. zfs get all... (8 Replies)
Discussion started by: eladgrs
8 Replies

10. UNIX for Advanced & Expert Users

How to extract subset file from dataset?

Hello I have a data set which looks like this : progeny sire dam gender 12 1 3 M 13 2 4 F 14 2 5 F 15 6 5 ... (13 Replies)
Discussion started by: sajmar
13 Replies
dpm_python(3)							 Python Reference						     dpm_python(3)

NAME
dpm - Python interface to the DPM SYNOPSIS
import dpm DESCRIPTION
The dpm module permits you to access the DPM client interface from python programs. The dpm module is a swig wrapping of the standard C interface. For detailed descriptions of each function see the individual man page of each function. There follows a series of examples of how to use selected functions and how to retrieve the information returned by them: Examples are listing the replicas of a given entry, reading the content of a directory, getting and setting ACLs. etc. EXAMPLE
#!/usr/bin/python """ # Using the dpns_readdirxr method """ import sys import dpm name = "/dpm/cern.ch/home/dteam/"; dir = dpm.dpns_opendirg(name,"") if (dir == None) or (dir == 0): err_num = dpm.cvar.serrno err_string = dpm.sstrerror(err_num) print "Error while looking for " + name + ": Error " + str(err_num) + " (" + err_string + ")" sys.exit(1) while 1: read_pt = dpm.dpns_readdirxr(dir,"") if (read_pt == None) or (read_pt == 0): break entry, list = read_pt print entry.d_name try: for i in range(len(list)): print " ==> %s" % list[i].sfn except TypeError, x: print " ==> None" dpm.dpns_closedir(dir) EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getlinks method """ result, list = dpm.dpns_getlinks("/dpm/cern.ch/home/dteam/file.test", "") print result print len(list) if (result == 0): for i in list: print i.path EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getreplica method """ result, list = dpm.dpns_getreplica("/dpm/cern.ch/home/dteam/file.test", "", "") print result print len(list) if (result == 0): for i in list: print i.host print i.sfn EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getacl and dpns_setacl methods to add a user ACL """ nentries, acls_list = dpm.dpns_getacl("/dpm/cern.ch/home/dteam/file.test", dpm.CA_MAXACLENTRIES) print nentries print len(acls_list) for i in acls_list: print i.a_type print i.a_id print i.a_perm # When adding a first ACL for a given user, you also need to add the mask # When adding the second user ACL, it is not necessary anymore acl_user = dpm.dpns_acl() acl_mask = dpm.dpns_acl() acl_user.a_type=2 # 2 corresponds to CNS_ACL_USER acl_user.a_id=18701 # user id acl_user.a_perm=5 acl_mask.a_type=5 # 5 corresponds to CNS_ACL_MASK acl_mask.a_id=0 # no user id specified acl_mask.a_perm=5 acls_list.append(acl_user) acls_list.append(acl_mask) res = dpm.dpns_setacl("/dpm/cern.ch/home/dteam/file.test", acls_list) if res == 0: print "OK" else: err_num = dpm.cvar.serrno err_string = dpm.sstrerror(err_num) print "There was an error : Error " + str(err_num) + " (" + err_string + ")" sys.exit(1) EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getacl and dpns_setacl methods to remove a user ACL """ nentries, acls_list = dpm.dpns_getacl("/dpm/cern.ch/home/dteam/file.test", dpm.CA_MAXACLENTRIES) # Note : you cannot remove the owner ACL (i.e. for CNS_ACL_USER_OBJ type) if # ====== ACLs for other users exist. If all the other user ACLs are deleted, # ====== the owner ACL is automatically removed. for i in acls_list: print i.a_type print i.a_id print i.a_perm del acls_list[1] # delete a given user ACL from the list of ACLs res = dpm.dpns_setacl("/dpm/cern.ch/home/dteam/file.test", acls_list) if res == 0: print "OK" else: err_num = dpm.cvar.serrno err_string = dpm.sstrerror(err_num) print "There was an error : Error " + str(err_num) + " (" + err_string + ")" sys.exit(1) EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getusrmap method """ result, list = dpm.dpns_getusrmap() print result print len(list) if (result == 0): for i in list: print i.userid + " " + i.username EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpns_getgrpmap method """ result, list = dpm.dpns_getgrpmap() print result print len(list) if (result == 0): for i in list: print i.gid + " " + i.groupname EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_addfs method """ result = dpm.dpm_addfs("mypool", "mydiskserver.domain.com", "/mountpoint", dpm.FS_READONLY) print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_modifyfs method """ result = dpm.dpm_modifyfs("mydiskserver.domain.com", "/mountpoint", dpm.FS_READONLY) print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_rmfs method """ result = dpm.dpm_rmfs("mypool", "mydiskserver.domain.com", "/mountpoint") print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_addpool method """ dpmpool = dpm.dpm_pool() dpmpool.poolname = "mypool" dpmpool.defsize = 209715200 dpmpool.def_lifetime = 604800 dpmpool.defpintime = 604800 dpmpool.max_lifetime = 604800 dpmpool.max_pintime = 604800 dpmpool.nbgids = 1 dpmpool.gids = [0] dpmpool.ret_policy = 'R' dpmpool.s_type = 'D' result = dpm.dpm_addpool(dpmpool) print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_modifypool method """ dpmpool = dpm.dpm_pool() dpmpool.poolname = "mypool" dpmpool.defsize = 209715200 dpmpool.def_lifetime = 604800 dpmpool.defpintime = 604800 dpmpool.max_lifetime = 604800 dpmpool.max_pintime = 604800 dpmpool.nbgids = 1 dpmpool.gids = [0] dpmpool.ret_policy = 'R' dpmpool.s_type = 'D' result = dpm.dpm_modifypool(dpmpool) print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_rmpool method """ result = dpm.dpm_rmpool("mypool") print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_getpoolfs method """ result,list = dpm.dpm_getpoolfs("mypool") print result print len(list) if (result == 0): for i in list: print "POOL " + i.poolname + " SERVER " + i.server + " FS " + i.fs + " CAPACITY " + i.capacity + " FREE " + i.free EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_getpools method """ result,list = dpm.dpm_getpools() print result print len(list) if (result == 0): for i in list: print "POOL " + i.poolname + " CAPACITY " + i.capacity + " FREE " + i.free EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_getprotocols method """ result,list = dpm.dpm_getprotocols() print result print len(list) if (result == 0): for i in list: print i EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_getspacemd method """ result, list = dpm.dpm_getspacemd(["myspacetoken"]) print result print len(list) if (result == 0): for i in list: print "TYPE " + i.s_type + " SPACETOKEN " i.s_token + " USERTOKEN " + i.u_token + " TOTAL " + i.t_space + " GUARANTUEED " + i.g_space + " UNUSED " + i.u_space + " POOL " + i.poolname EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_getspacetoken method """ result, list = dpm.dpm_getspacetoken("myspacetokendesc") print result print len(list) if (result == 0): for i in list: print i EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_reservespace method """ result,actual_s_type,actual_t_space,actual_g_space,actual_lifetime,s_token = dpm.dpm_reservespace('D', "myspacetokendesc", 'R', 'O', 209715200, 209715200, 2592000, 0, "mypoolname") print result if (result == 0): print "TYPE " + actual_s_type + " TOTAL " + actual_t_space + " GUARANTEED " + actual_g_space + " LIFETIME " + actual_lifetime + " TOKEN " + s_token EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_updatespace method """ result,actual_t_space,actual_g_space,actual_lifetime = dpm.dpm_updatespace("myspacetoken", 209715200, 209715200, 2592000) print result if (result == 0): print " TOTAL " + actual_t_space + " GUARANTEED " + actual_g_space + " LIFETIME " + actual_lifetime EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_releasespace method """ result = dpm.dpm_releasespace("myspacetoken", 0) print result EXAMPLE
#!/usr/bin/python import dpm """ # Using the dpm_ping method """ result,info = dpm.dpm_ping("mydpmserver.domain.com") print result if (result == 0): print info KNOWN BUGS
The current interface to the dpns_getcwd(3), dpns_readlink(3), dpns_seterrbuf(3) requires the passing of str object which is modified to contain the result (in a similar way to the C functions, which accept a buffer). However this breaks the immutability of python str. This will be changed in the future. SEE ALSO
DPM C interface man pages DPM
$Date: 2010-02-04 13:08:39 +0100 (Thu, 04 Feb 2010) $ dpm_python(3)
All times are GMT -4. The time now is 12:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy