refactor(asana_users): optimization of getting users.data from .json Asana
This commit is contained in:
parent
15c3021005
commit
b9c24cf76f
@ -2,36 +2,42 @@ import json
|
||||
import csv
|
||||
|
||||
|
||||
DATA_ASANA = './data/data_asana.json'
|
||||
asana_data = './data/data_asana.json'
|
||||
|
||||
|
||||
def get_assignee_and_followers(asana_data):
|
||||
def extract_unique_names_and_ids(data):
|
||||
""" Получение из json-файла данных о пользователях """
|
||||
|
||||
with open('asana_data', 'r') as file:
|
||||
data = json.load(file)
|
||||
|
||||
assignees = set()
|
||||
followers = set()
|
||||
unique_names = set()
|
||||
unique_ids = set()
|
||||
|
||||
for item in data:
|
||||
assignee = item.get('assignee')
|
||||
follower = item.get('followers')
|
||||
assignee = item.get("assignee")
|
||||
followers = item.get("followers")
|
||||
|
||||
if assignee:
|
||||
assignees.add(assignee)
|
||||
if follower:
|
||||
followers.add(follower)
|
||||
|
||||
with open('output.csv', 'w', newline='') as file:
|
||||
writer = csv.writer(file, delimiter=',')
|
||||
writer.writerow(["Assignee", "Follower"])
|
||||
|
||||
for assignee in assignees:
|
||||
writer.writerow([assignee, ""])
|
||||
unique_names.add(assignee.get("name"))
|
||||
unique_ids.add(assignee.get("id"))
|
||||
|
||||
if followers:
|
||||
for follower in followers:
|
||||
writer.writerow(["", follower])
|
||||
unique_names.add(follower.get("name"))
|
||||
unique_ids.add(follower.get("id"))
|
||||
|
||||
return unique_names, unique_ids
|
||||
|
||||
|
||||
get_assignee_and_followers(DATA_ASANA)
|
||||
def export_to_csv(unique_names, unique_ids):
|
||||
with open("output.csv", "w", newline="") as csvfile:
|
||||
writer = csv.writer(csvfile, delimiter=",")
|
||||
writer.writerow(["Name", "ID"])
|
||||
|
||||
for name, id in zip(unique_names, unique_ids):
|
||||
writer.writerow([name, id])
|
||||
|
||||
|
||||
with open('asana_data', 'r') as file:
|
||||
json_data = json.load(file)
|
||||
|
||||
unique_names, unique_ids = extract_unique_names_and_ids(json_data)
|
||||
export_to_csv(unique_names, unique_ids)
|
||||
|
Loading…
Reference in New Issue
Block a user