-
Notifications
You must be signed in to change notification settings - Fork 0
/
redis_to_csv.py
29 lines (24 loc) · 1.24 KB
/
redis_to_csv.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#coding: utf-8
"""
Скрипт для сбора данных из редис в csv
"""
import argparse
import csv
from redis import Redis
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("-o", "--output", dest="output_file", type=str, required=True,
help="csv, в который пишется результат")
parser.add_argument("-s", "--host", dest="host", default="localhost", type=str,
help="Хост на котором находится Redis. По умолчанию 'localhost'")
parser.add_argument("-p", "--port", dest="port", default=6379, type=int,
help="Порт на котором находится Redis. По умолчанию 6379")
parser.add_argument("-d", "--db", dest="db", default=0, type=int,
help="БД в редисе. По умолчанию - 0")
args = parser.parse_args()
rd = Redis(host=args.host, port=args.port, db=args.db)
with open(args.output_file, "w") as csv_file:
csv_writer = csv.writer(csv_file, delimiter="|")
for key in rd.keys():
parts = key.split()
csv_writer.writerow([parts[1], parts[0], rd.get(key)])