import sys import os import csv sys.path.insert(1,os.path.abspath("./pyzk")) from zk import ZK, const from collections import OrderedDict ''' mesin absen baru 10.35.7.12 mesin absen office 10.35.14.10 mesin absen injection in 10.35.7.10 mesin absen injection out 10.35.7.11 ''' zk = ZK('10.35.7.12', port=4370, timeout=5, password=0, force_udp=False, ommit_ping=False) conn = zk.connect() userdata = [] #userdataset = OrderedDict()#{"uid":0,"name":"admin","password":"pass","group_id":"","user_id":""} users = conn.get_users() for user in users: userdataset = OrderedDict() #privilege = 'User' #if user.privilege == const.USER_ADMIN: # privilege = 'Admin' #print ('+ UID #{}'.format(user.uid)) #print (' Name : {}'.format(user.name)) #print (' Privilege : {}'.format(privilege)) #print (' Password : {}'.format(user.password)) #print (' Group ID : {}'.format(user.group_id)) #print (' User ID : {}'.format(user.user_id)) print ('+ UID #{}'.format(user.uid)) userdataset["uid"] = user.uid print (' Name : {}'.format(user.name)) userdataset["name"] = user.name print (' Password : {}'.format(user.password)) userdataset["password"] = user.password print (' Group ID : {}'.format(user.group_id)) userdataset["group_id"] = user.group_id print (' User ID : {}'.format(user.user_id)) userdataset["user_id"] = user.user_id userdata.append(userdataset) print(userdata) #userdataset.clear() for u in userdata: #print(u) for key, value in u.items(): print(f"{key.capitalize()}: {value}") #print("*" * 30) # 30 asterisks print("=" * 50) # 50 equal signs fieldnames = ["uid", "name", "password", "group_id", "user_id"] with open('dump_user_new.csv', 'w', newline='', encoding='utf-8') as csv_file: writer = csv.DictWriter(csv_file, delimiter=',', fieldnames=fieldnames) writer.writeheader() for u in userdata: writer.writerow(u) print("User data written to user_data.csv")