新增圣诞数据清洗脚本
This commit is contained in:
115
python/peko_act_christmas_2023_cp_rank_user_cp_prop.py
Normal file
115
python/peko_act_christmas_2023_cp_rank_user_cp_prop.py
Normal file
@@ -0,0 +1,115 @@
|
||||
import json
|
||||
|
||||
import redis
|
||||
|
||||
|
||||
class RedisUtil:
|
||||
def __init__(self, host, port, db, password):
|
||||
self.host = host
|
||||
self.port = port
|
||||
self.db = db
|
||||
self.password = password
|
||||
|
||||
def scan(self, match: str):
|
||||
keys = []
|
||||
res = redis.StrictRedis(host=self.host, port=self.port, db=self.db, password=self.password)
|
||||
try:
|
||||
cursor = 0
|
||||
while True:
|
||||
tup = res.scan(cursor=cursor, match=match, count=1000)
|
||||
print(tup)
|
||||
if isinstance(tup[0], int):
|
||||
cursor = tup[0]
|
||||
if isinstance(tup[1], list):
|
||||
keys.extend(tup[1])
|
||||
if cursor == 0:
|
||||
break
|
||||
except Exception as e:
|
||||
print('scan is error.', e)
|
||||
finally:
|
||||
res.close()
|
||||
return keys
|
||||
|
||||
def delete(self, name: str):
|
||||
res = redis.StrictRedis(host=self.host, port=self.port, db=self.db, password=self.password)
|
||||
try:
|
||||
res.delete(name)
|
||||
except Exception as e:
|
||||
print('delete ', name, ' is error.', e)
|
||||
finally:
|
||||
res.close()
|
||||
|
||||
def hgetall(self, name: str):
|
||||
data = None
|
||||
res = redis.StrictRedis(host=self.host, port=self.port, db=self.db, password=self.password)
|
||||
try:
|
||||
data = res.hgetall(name)
|
||||
except Exception as e:
|
||||
print('hget ', name, ' is error.', e)
|
||||
finally:
|
||||
res.close()
|
||||
return data
|
||||
|
||||
def hincrby(self, name: str, field, increment):
|
||||
res = redis.StrictRedis(host=self.host, port=self.port, db=self.db, password=self.password)
|
||||
try:
|
||||
res.hincrby(name, field, increment)
|
||||
except Exception as e:
|
||||
print('hincrby ', name, ' is error.', e)
|
||||
finally:
|
||||
res.close()
|
||||
|
||||
def hdel(self, name: str, field):
|
||||
res = redis.StrictRedis(host=self.host, port=self.port, db=self.db, password=self.password)
|
||||
try:
|
||||
res.hdel(name, field)
|
||||
except Exception as e:
|
||||
print('hdel ', name, ' is error.', e)
|
||||
finally:
|
||||
res.close()
|
||||
|
||||
def hget(self, name: str, field):
|
||||
data = None
|
||||
res = redis.StrictRedis(host=self.host, port=self.port, db=self.db, password=self.password)
|
||||
try:
|
||||
data = res.hget(name, field)
|
||||
except Exception as e:
|
||||
print('hdel ', name, ' is error.', e)
|
||||
finally:
|
||||
res.close()
|
||||
return data
|
||||
|
||||
def zrange(self, name: str, start: int, end: int, withscores: bool):
|
||||
data = None
|
||||
res = redis.StrictRedis(host=self.host, port=self.port, db=self.db, password=self.password)
|
||||
try:
|
||||
data = res.zrange(name, start=start, end=end, withscores=withscores)
|
||||
except Exception as e:
|
||||
print('hdel ', name, ' is error.', e)
|
||||
finally:
|
||||
res.close()
|
||||
return data
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
util = RedisUtil(host='172.16.0.2', port=6379, db=0, password='mehpec-vybgig-Demri6')
|
||||
# util = RedisUtil(host='172.22.0.8', port=6379, db=0, password='pc8DphhaXwTe2jyv')
|
||||
members = util.hgetall('yinmeng_act_christmas_2023_cp_rank_user_cp_prop')
|
||||
for member in members:
|
||||
from_uid = json.loads(member.decode('utf-8'))[1]
|
||||
data = json.loads(util.hget('yinmeng_act_christmas_2023_cp_rank_user_cp_prop', member).decode('utf-8'))
|
||||
for k in data:
|
||||
if k != '@class' and k != 'java.util.HashMap':
|
||||
to_uid = data[k]['toUid'][1]
|
||||
cp_task_status = data[k]['cpTaskStatus']
|
||||
first = 0
|
||||
if '1' in cp_task_status:
|
||||
first = cp_task_status['1']
|
||||
second = 0
|
||||
if '2' in cp_task_status:
|
||||
second = cp_task_status['2']
|
||||
third = 0
|
||||
if '3' in cp_task_status:
|
||||
third = cp_task_status['3']
|
||||
print(from_uid, ',', to_uid, ',', first, ',', second, ',', third)
|
||||
break
|
Reference in New Issue
Block a user