Files
Gainsight/CustomerNotes/Anthology/dict-mapping-to-csv.py

159 lines
4.0 KiB
Python

import pandas as pd
from mappingsdict import mappings
from groupslist import GROUPSDICT
from datetime import date
import fnmatch
MAINLIST = mappings
DATE = date.today()
def oldfunc():
df = pd.DataFrame.from_records(mappings)
df.to_csv(f"~/Downloads/Anthology_mappings_{date}.csv")
def newfunc():
masterlist = []
for domdict in MAINLIST:
for domains in domdict["domains"]:
masterlist.append(domains)
nodupes = set(masterlist)
find_matches(nodupes)
def find_matches(nodupes):
formatted_mapping = []
for domain in nodupes:
domaindict = {}
group_list = []
for domdict in MAINLIST:
if domain in domdict["domains"]:
group_list.append(domdict["uuid"])
groups_names = {v: k for k, v in GROUPSDICT.items()}
groups_names = [groups_names.get(item, item) for item in group_list]
names = fnmatch.filter(groups_names, "*(??)")
domaindict = {"domain": domain, "groups": names}
formatted_mapping.append(domaindict)
to_file(formatted_mapping)
def to_file(formatted_mapping):
df = pd.DataFrame()
#df = pd.DataFrame(formatted_mapping)
df[[ "domain",
"groups_1",
"groups_2",
"groups_3",
"groups_4",
"groups_5",
"groups_6",
"groups_7",
"groups_8",
"groups_9",
"groups_10",
"groups_11",
"groups_12",
"groups_13",
"groups_14",
"groups_15",
"groups_16",
"groups_17",
"groups_18",
"groups_19",
"groups_20",
"groups_21",
"groups_22",
"groups_23",
"groups_24",
"groups_25",
"groups_26",
"groups_27",
"groups_28",
"groups_29",
"groups_30",
"groups_31",
"groups_32",
"groups_33",
"groups_34",
"groups_35",
"groups_36",
"groups_37",
"groups_38",
"groups_39",
"groups_40",
"groups_41",
"groups_42",
"groups_43",
"groups_44",
"groups_45",
"groups_46",
"groups_47",
"groups_48",
"groups_49",
"groups_50",
"groups_51",
"groups_52",
"groups_53",
"groups_54",
"groups_55",
"groups_56",
"groups_57",
"groups_58",
"groups_59",
"groups_60",
"groups_61",
"groups_62",
"groups_63",
"groups_64",
"groups_65",
"groups_66",
"groups_67",
"groups_68",
"groups_69",
"groups_70",
"groups_71",
"groups_72",
"groups_73",
"groups_74",
"groups_75",
"groups_76",
"groups_77",
"groups_78",
"groups_79",
"groups_80",
"groups_81",
"groups_82",
"groups_83",
"groups_84",
"groups_85",
"groups_86",
"groups_87",
"groups_88",
"groups_89",
"groups_90",
"groups_91",
"groups_92",
"groups_93",
"groups_94",
"groups_95",
"groups_96",
"groups_97",
"groups_98",
"groups_99",
"groups_100",
"groups_101",
"groups_114",
"groups_115",
"groups_116",
"groups_117",
"groups_118"]]
print(df)
# = pd.DataFrame(df.groups.tolist(), index=df.index)
# df3 = pd.DataFrame(df['domains'].to_list())
# df.to_csv(f"~/Downloads/Anthology_mappings_{DATE}.csv")
if __name__ == "__main__":
newfunc()