def ajouter_mails(liste_objets, liste_mail_et_noms):

        #On parcourt nos instances d'apprenants dans la liste d'objets apprenants :
        for x in liste_objets:

            #On boucle sur la liste de mails qui doit être structurée ainsi [ mail, [ nom_généré, prenom_généré]]
            for y in liste_mail_et_noms:

                #On vérifie si le prénom (nettoyé) de l'objet est égal au prénom généré à partir du mail
                if ud(x.prenom.lower()).replace("'", '') == y[1][0]:

                    #On vérifie si le nom (nettoyé) de l'objet est égal au nom généré à partir du mail
                    if ud(x.nom.lower()).replace("'", '') == y[1][1]:

                        #Si tout correspond, on peut attribuer le mail de rang y à l'objet en question.
                        setattr(x, "mail", y[0])

        return liste_objets
示例#2
0
def cleanup(d_df):
    global f_path, file_list
    lis_val = list()
    if d_df != 1:
        par = None
    else:
        par = 'utf-8'
    with open(f_path + file_list[d_df] + '.csv', encoding=par) as m_file:
        reader = csv.reader(m_file)
        gh = 0
        for item in reader:
            gh += 1
            if gh == 1 and d_df == 0:
                try:
                    item[0] = ud(item[0]).split('?')[1]
                except:
                    pass
            lis_val.append(item)
    #Cleaning up list
    if d_df == 3 and 'Aggregated engagement metrics for your' in lis_val[0][0]:
        lis_val.pop(0)
    t_list = list()
    for element in lis_val:
        t_list.append([])
        for items in element:
            if len(items) == 0:
                k_items = 0
            else:
                try:
                    if float(items) == int(float(items)):
                        k_items = int(float(items))
                    else:
                        k_items = float(items)
                except:
                    try:
                        k_items = str(ud(items))
                    except:
                        k_items = str(items)
            t_list[-1].append(k_items)
    with open(f_path + file_list[d_df] + '.csv', 'w', newline='') as outfile:
        mywriter = csv.writer(outfile)
        for row in t_list:
            mywriter.writerow(row)
示例#3
0
def generate_cypher_data(file, info_dict, cur_year):

    cypher_create_wrestlers = []
    cypher_create_participants = []
    cypher_create_elims = []

    for inf in info_dict:
        #print(inf)

        time_val = clean_time_string(inf['time_in'])
        #time_val.second
        time_val_2 = time_val - dt(1900, 1, 1)
        #print(time_val_2.total_seconds())
        #print(time_val)
        normalized = ud(inf['wrestler'])
        alias = normalized.replace(" ", "")
        alias = re.sub("\W*", "", alias)
        cypher_create_wrestlers.append("MERGE (" + alias +
                                       ":Wrestler {name:'" + normalized +
                                       "'})\n")
        if 'brand' in inf:
            cypher_create_participants.append("CREATE (" + alias +
                                              ")-[:WAS_IN{draw:" +
                                              inf['draw'] + ", brand:" +
                                              inf['brand'] + "}]->(RR" +
                                              cur_year + ")\n")
        else:
            cypher_create_participants.append("CREATE (" + alias +
                                              ")-[:WAS_IN{draw:" +
                                              inf['draw'] + "}]->(RR" +
                                              cur_year + ")\n")
        #print("time in: " + inf['time_in'])
        if type(inf['eliminators']) is list:
            for elim in inf['eliminators']:
                cypher_create_elims.append("CREATE (" + alias +
                                           ")-[:ELIMINATED_BY {order:" +
                                           inf['order'] + ", time:\"" +
                                           str(time_val_2.total_seconds()) +
                                           "\"}]->(" + elim + ")\n")
        else:
            cypher_create_elims.append("CREATE (" + alias +
                                       ")-[:ELIMINATED_BY {order:" +
                                       inf['order'] + ", time:\"" +
                                       str(time_val_2.total_seconds()) +
                                       "\"}]->(" + inf['eliminators'] + ")\n")

    for ccw in cypher_create_wrestlers:
        file.write(ccw)
    file.write("//Participations\n")
    for ccp in cypher_create_participants:
        file.write(ccp)
    file.write("//Eliminations\n")
    for cce in cypher_create_elims:
        file.write(cce)
    file.close()
示例#4
0
    map(os.makedirs, map(concat_path, subfolders))


if __name__ == '__main__':
    parser = get_parser()
    args = parser.parse_args()

    if args.do == 'alumnifolders':
        PATH = join(PATH_D4E, 'alumni')
        list_file = join(PATH, 'alumnilist.xlsx')
        if exists(list_file):
            df = pd.read_excel(list_file,
                               dtype={
                                   'cu': 'object',
                                   'name': 'object',
                                   'surname': 'object'
                               })
            for i, r in df.iterrows():
                if (not pd.isnull(r['name'])) and (not pd.isnull(
                        r['surname'])):
                    fname = '_'.join([
                        str(r['cu']),
                        ud(r['name'].split(' ')[0]),
                        ud(r['surname'].split(' ')[0])
                    ])
                    print(fname)
                    try:
                        os.mkdir(join(PATH, fname))
                    except Exception as e:
                        print('Ya existe el directorio ' + fname)
示例#5
0
import pandas as pd
from unidecode import unidecode as ud

#get driver standings > csv
all_drivers = pd.read_html(
    'https://www.formula1.com/en/results.html/2019/drivers.html')
all_drivers = all_drivers[0]
all_drivers = all_drivers.drop(['Unnamed: 0', 'Unnamed: 6'], axis=1)
all_drivers.to_csv('all_drivers.csv')

#create empty DataFrame
f1_2019 = pd.DataFrame()

#get and append individual driver dfs > csv
for i in all_drivers['Driver']:
    name = ud(i).split()
    tag = name[0][:3].upper() + name[1][:3].upper() + '01'
    driver = pd.read_html(
        'https://www.formula1.com/en/results.html/2019/drivers/' + tag + '/' +
        name[0].lower() + '-' + name[1].lower() + '.html')
    driver = driver[0].drop(['Unnamed: 0', 'Unnamed: 6'], axis=1)
    driver['Date'] = pd.to_datetime(driver['Date'])
    driver['Name'] = name[1]
    driver['Total PTS'] = driver['PTS'].cumsum()
    f1_2019 = f1_2019.append(driver)

f1_2019.to_csv('f1_2019.csv')

#get fastest lap df > csv
fastest_lap = pd.read_html(
    'https://www.formula1.com/en/results.html/2019/fastest-laps.html')
示例#6
0
def unidecode(string):
    return ud(string)
示例#7
0
print(bdd.is_connected())

liste_apprenants = []
curseur.execute('SELECT id_apprenant, nom, prenom, mail FROM apprenants;')

for x in curseur.fetchall():
    liste_apprenants.append(x)

objets = []

for x in liste_apprenants:
    nouvelle_instance = Apprenant(x)
    objets.append(nouvelle_instance)

for x in range(0, len(objets)):
    for y in range(0, len(liste_mails)):
        if ud(objets[x].prenom.lower()).replace("'",
                                                '') == liste_mails[y][1][0]:
            if ud(objets[x].nom.lower()).replace("'",
                                                 '') == liste_mails[y][1][1]:
                objets[x].mail = liste_mails[y][0]

for x in range(0, len(objets)):
    curseur.execute(
        f"UPDATE apprenants SET mail = '{objets[x].mail}' WHERE id_apprenant = {objets[x].id};"
    )
    bdd.commit()

for x in range(0, len(objets)):
    print(objets[x].__dict__.items())