-
Notifications
You must be signed in to change notification settings - Fork 0
/
inserimenti_manuali.py
64 lines (46 loc) · 3.9 KB
/
inserimenti_manuali.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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#############################################################################################################
# Elaborazione
import pandas as pd
import os
import numpy as np
import datetime as dt
from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(r"C:\Users\Raffaele.Sportiello\OneDrive - Wolters Kluwer\Documents\Dashboard inflow\Dashboard inflow canali e prodotti\Inserimenti manuali\Data export") if isfile(join(r"C:\Users\Raffaele.Sportiello\OneDrive - Wolters Kluwer\Documents\Dashboard inflow\Dashboard inflow canali e prodotti\Inserimenti manuali\Data export", f))]
lastFile = onlyfiles[-1]
ins = pd.read_excel(f"C:/Users/Raffaele.Sportiello/OneDrive - Wolters Kluwer/Documents/Dashboard inflow/Dashboard inflow canali e prodotti/Inserimenti manuali/Data export/{lastFile}")
ins["Data di completamento"] = ins["Ora di completamento"].dt.date
ins["Qual è il tipo di modifica manuale richiesta?"] = np.where(ins["Qual è il tipo di modifica manuale richiesta?"] == "Cambio dell'intestazione di un ordine", ins["Qual è il tipo di cambio che si vuole operare?"], ins["Qual è il tipo di modifica manuale richiesta?"])
ins["Sales Director"] = ins.loc[:,ins.columns.str.contains("Su quale sales director")].fillna(axis=1, method="ffill").iloc[:,-1]
ins["Agente dell'ORDINE"] = ins.loc[:,ins.columns.str.contains("Su quale codice agente")].fillna(axis=1, method="ffill").iloc[:,-1]
ins["Codice PRODOTTO"] = ins.loc[:,ins.columns.str.contains("Su quali codici prodotto")].fillna(axis=1, method="ffill").iloc[:,-1]
ins["Linea Prodotto"] = ins.loc[:,ins.columns.str.contains("Su quale linea prodotto")].fillna(axis=1, method="ffill").iloc[:,-1]
ins["Raccolto"] = ins.loc[:,ins.columns.str.contains("valore dell'ordine")].fillna(axis=1, method="ffill").iloc[:,-1]
ins["Data"] = ins.loc[:,ins.columns.str.contains("quale data")].fillna(axis=1, method="ffill").iloc[:,-1]
ins["Numero Ordine"] = ins.loc[:,ins.columns.str.contains("numero dell'ordine")].fillna(axis=1, method="ffill").iloc[:,-1]
ins["Numero Fattura"] = ins.loc[:,ins.columns.str.contains("numero della fattura")].fillna(axis=1, method="ffill").iloc[:,-1]
ins["Testo Richiesta"] = ins.loc[:,ins.columns.str.contains("testo della richiesta")].fillna(axis=1, method="ffill").iloc[:,-1]
ins = ins.loc[:,["ID", "Nome", "Data di completamento", "Qual è il tipo di modifica manuale richiesta?", "Numero Ordine", "Numero Fattura", "Sales Director", "Agente dell'ORDINE", "Codice PRODOTTO", "Linea Prodotto", "Data", "Testo Richiesta", "Raccolto"]]
ins["Linea Prodotto"] = ins["Linea Prodotto"].str.replace("10,4k Software; 6,1k Servizi","Software,Servizi")
ins = (ins.set_index(["ID", "Nome", "Data di completamento", "Testo Richiesta", "Qual è il tipo di modifica manuale richiesta?", "Numero Ordine", "Numero Fattura", "Sales Director","Agente dell'ORDINE", "Data"]).apply(lambda x: x.str.split(';|,').explode()).reset_index())
ins["Raccolto"] = ins["Raccolto"].astype(float)
ins.to_excel(r"C:\Users\Raffaele.Sportiello\OneDrive - Wolters Kluwer\Documents\Dashboard inflow\Dashboard inflow canali e prodotti\Inserimenti manuali\Inserimenti_manuali.xlsx")
import win32com.client as client
#############################################################################################################
# Email
#
inserimenti_manuali = r"C:\Users\Raffaele.Sportiello\OneDrive - Wolters Kluwer\Documents\Dashboard inflow\Dashboard inflow canali e prodotti\Inserimenti manuali\Inserimenti_manuali.xlsx"
html_body = """
<div>
<p>Ciao Loredana, Rocco,<br><br>
in allegato il file aggiornato.<br><br>
Un saluto,<br>Raffaele<br><br></p>
</div>
"""
outlook = client.Dispatch('Outlook.Application')
message = outlook.CreateItem(0)
message.To = "[email protected];[email protected]"
message.Subject = 'Inserimenti manuali'
message.HTMLBody = html_body
message.Attachments.Add(Source=inserimenti_manuali)
message.Display()