Re: [Python] Modificare i valori di una colonna di un file csv

2017-05-16 Per discussione Federico Cerchiari
Ciao Paolo,
non sono un esperto di Pandas, ma se i tuoi file non sono troppo grandi
puoi farne a meno ed utilizzare il modulo csv:

import csv
# Leggi i due file
with open('file1.csv', 'rb') as f1:
with open('file2.csv', 'rb') as f2:
# Dal secondo crei un dizionario di mapping
mapping = {row[0]: row[1] for row in csv.reader(f2, delimiter=' ')}
 # Dal primo estrai le righe e sostituisci i valori, se non è
presente il valore nel secondo file, hai come fallback il valore originale
result = [mapping.get(row[0], row[0]) for row in csv.reader(f1,
delimiter=' ')]

# Salvi nel primo file quello che hai ottenuto
with open('file1.csv', 'wb') as f1:
csv.writer(f1).writerows(result)




Il giorno 16 maggio 2017 18:50, Paolo Di Ieso  ha
scritto:

> La stanchezza, ero sicuro di aver creato ex-novo l'email. Riprovo come
> consigliato da Gollum! ;)
>
> Dicevo che sono alle prime armi con Pandas e ho questo problema: in due
> dataframe ho il contenuto di due file CSV, entrambi con un header e qualche
> decina di colonne. Iterando sulle righe di entrambi voglio modificare il 1°
> file in modo tale che quando un valore della colonna "srvid" del 1° file
> coincide con il valore dell'omonima colonna "srvid" del 2° file, nella
> colonna "srvid" del 1° file metto il valore preso dalla colonna "srvname"
> del 2°. Un esempio:
>
> Situazione iniziale 1° file:
>
> srvid
> 42
> 63
> 63
> 63
> 42
> 42
>
> Situazione iniziale 2° file:
>
> srvid srvname
> 42HOTSPOT
> 43WiFi 6M
> 44WiFi 8M
>
>
> Situazione 1° file dopo le modifiche:
>
> srvid
> HOTSPOT
> 63
> 63
> 63
> HOTSPOT
> HOTSPOT
>
> Tutti i valori 42 della colonna "srvid" del 1° file sono stati sostituiti
> dal valore "HOTSPOT" trovato in "srvname" del 2° file quando l'adiacente
> "srvid" ha anch'essa valore 42. Ho iniziato scrivendo
>
> df = pd.read_csv(rm_users_in, sep=";",
>  usecols=rm_users_to_o4w_column.keys(),
>  dtype={"zip": object}  # fix value from 50015.0 to 50015
>  )
> df2 = pd.read_csv(rm_services_in, sep=";",
>   usecols=rm_services_to_o4w_column.keys()
>   )
> for row in df.itertuples():
> for row2 in df2.itertuples():
> if row.srvid == row2.srvid:
> row["srvid"] = row2.srvname
>
> ma dal traceback capisco di non essere sulla strada giusta. Mi date una
> mano a tornare sulla retta via?
>
> Grazie mille.
> Paolo
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Modificare i valori di una colonna di un file csv

2017-05-16 Per discussione Giovanni Porcari

> Il giorno 16 mag 2017, alle ore 18:50, Paolo Di Ieso  
> ha scritto:
> 
> La stanchezza, ero sicuro di aver creato ex-novo l'email. Riprovo come 
> consigliato da Gollum! ;)
> 
> Dicevo che sono alle prime armi con Pandas e ho questo problema: in due 
> dataframe ho il contenuto di due file CSV, entrambi con un header e qualche 
> decina di colonne. Iterando sulle righe di entrambi voglio modificare il 1° 
> file in modo tale che quando un valore della colonna "srvid" del 1° file 
> coincide con il valore dell'omonima colonna "srvid" del 2° file, nella 
> colonna "srvid" del 1° file metto il valore preso dalla colonna "srvname" del 
> 2°. Un esempio:
> 
> Situazione iniziale 1° file:
> 
> srvid
> 42
> 63
> 63
> 63
> 42
> 42
> 
> Situazione iniziale 2° file:
> 
> srvid srvname
> 42HOTSPOT
> 43WiFi 6M
> 44WiFi 8M
> 
> 
> Situazione 1° file dopo le modifiche:
> 
> srvid
> HOTSPOT
> 63
> 63
> 63
> HOTSPOT
> HOTSPOT
> 
> Tutti i valori 42 della colonna "srvid" del 1° file sono stati sostituiti dal 
> valore "HOTSPOT" trovato in "srvname" del 2° file quando l'adiacente "srvid" 
> ha anch'essa valore 42. Ho iniziato scrivendo
> 
> df = pd.read_csv(rm_users_in, sep=";",
> usecols=rm_users_to_o4w_column.keys(),
> dtype={"zip": object}  # fix value from 50015.0 to 50015
> )
> df2 = pd.read_csv(rm_services_in, sep=";",
>  usecols=rm_services_to_o4w_column.keys()
>  )
> for row in df.itertuples():
>for row2 in df2.itertuples():
>if row.srvid == row2.srvid:
>row["srvid"] = row2.srvname
> 
> ma dal traceback capisco di non essere sulla strada giusta. Mi date una mano 
> a tornare sulla retta via?

Mi pare che tu voglia fare una join basandoti sulle due colonne 'srvid'.

Non è che puoi usare il comando join di pandas ?
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.join.html

Se ho frainteso perdonami :)


Ciao
G


> 
> Grazie mille.
> Paolo
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Modificare i valori di una colonna di un file csv

2017-05-16 Per discussione Paolo Di Ieso
La stanchezza, ero sicuro di aver creato ex-novo l'email. Riprovo come 
consigliato da Gollum! ;)


Dicevo che sono alle prime armi con Pandas e ho questo problema: in due 
dataframe ho il contenuto di due file CSV, entrambi con un header e 
qualche decina di colonne. Iterando sulle righe di entrambi voglio 
modificare il 1° file in modo tale che quando un valore della colonna 
"srvid" del 1° file coincide con il valore dell'omonima colonna "srvid" 
del 2° file, nella colonna "srvid" del 1° file metto il valore preso 
dalla colonna "srvname" del 2°. Un esempio:


Situazione iniziale 1° file:

srvid
42
63
63
63
42
42

Situazione iniziale 2° file:

srvid srvname
42HOTSPOT
43WiFi 6M
44WiFi 8M


Situazione 1° file dopo le modifiche:

srvid
HOTSPOT
63
63
63
HOTSPOT
HOTSPOT

Tutti i valori 42 della colonna "srvid" del 1° file sono stati 
sostituiti dal valore "HOTSPOT" trovato in "srvname" del 2° file quando 
l'adiacente "srvid" ha anch'essa valore 42. Ho iniziato scrivendo


df = pd.read_csv(rm_users_in, sep=";",
 usecols=rm_users_to_o4w_column.keys(),
 dtype={"zip": object}  # fix value from 50015.0 to 50015
 )
df2 = pd.read_csv(rm_services_in, sep=";",
  usecols=rm_services_to_o4w_column.keys()
  )
for row in df.itertuples():
for row2 in df2.itertuples():
if row.srvid == row2.srvid:
row["srvid"] = row2.srvname

ma dal traceback capisco di non essere sulla strada giusta. Mi date una 
mano a tornare sulla retta via?


Grazie mille.
Paolo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Modificare i valori di una colonna di un file csv

2017-05-16 Per discussione Gollum1
Il 16 maggio 2017 16:31:21 CEST, Paolo Di Ieso  ha 
scritto:
>Ciao a tutti. Ho appena iniziato con Pandas e ho una gran confusione in
>
1) non rispondere ad una mail per iniziare un nuovo thread, invia una nuova 
mail alla ml. Riprova, sarai più fortunato, e forse qualcuno ti darà la 
risposta che desideri.
-- 
Gollum1
Teoro, dov'è il mio teoro...

Inviato dal mio dispositivo Android con K-9 Mail. Perdonate la brevità e gli 
errori (maledetto correttore ortografico).
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Posta certificata, S/MIME v3 e CMS... Suggerimenti?

2017-05-16 Per discussione Luca
Il giorno 16 maggio 2017 17:16, Nicola Gramola 
ha scritto:

> Forse Legalmail è un po' più rigoroso nelle richieste formali della
> composizione dell'email: il campo from deve essere valido e probabilmen
> uguale a quello con cui fai login.
>
> Beh il  campo From è l'indirizzo di posta pincopall...@legalmail.it,
mentre il login è fatto con l'utente XYZ di legalmail.
E utilizzando tutte le combinazioni FROM/USERNAME il risultato non cambia.

bah! io, dall'alto della mia ignoranza, continuo a sostenere che un pgp
sarebbe stato meglio.
-- 
Luca
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Posta certificata, S/MIME v3 e CMS... Suggerimenti?

2017-05-16 Per discussione Luca
Il giorno 16 maggio 2017 17:09, Luca  ha scritto:

>
> Ora ho avuto la possibilità utilizzare un account pec di aruba e non
> legalmail. E non mi da nessun errore. Posta arrivata etc etc.
>

... E comunque anche se spedita da una PEC (aruba) è stata considerada NON
PEC da legalmail.


-- 
Luca
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Posta certificata, S/MIME v3 e CMS... Suggerimenti?

2017-05-16 Per discussione Nicola Gramola
Il giorno 16 maggio 2017 17:09, Luca  ha scritto:

> Il giorno 16 maggio 2017 14:46, Mauro Morichi 
> ha scritto:
>
>> no, non credo che il problema riguardi il mime, ma il come viene
>> impostato il "mail from". L'errore mi pare abbastanza chiaro.
>> la pec e' una normalissima mail con ssl attivo, nulla di piu', il resto
>> e' nell'attivita' dei server, che a noi poveri mortali non riguarda.
>> credo tu abbia un problema nell'impostazione del mail from semplicemente.
>>
>
> In realtà è stato anche il mio primo pensiero. Ma visto che il programma
> funziona correttamente con gli indirizzi non PEC; ssl tls etc che sia ho
> pensato potesse influire un eventuale incapsulamento o simile.
>
> Ora ho avuto la possibilità utilizzare un account pec di aruba e non
> legalmail. E non mi da nessun errore. Posta arrivata etc etc.
> Il che in effetti mi perplime e mi angustia ulteriormente... è un problema
> di legalmail o ci possono delle *varianti* nei vari providers?
>
>
>
Forse Legalmail è un po' più rigoroso nelle richieste formali della
composizione dell'email: il campo from deve essere valido e probabilmen
uguale a quello con cui fai login.



-- 
 * Nicola Gramola (°> Above all, be cool!
@ https://t.me/nicola_gramola
 - linux addicted - keep calm and clear cache - keep it simple
 - Linux Counter: 324870 http://linuxcounter.net
 - AViLUG - AViCoderDojo: http://www.avilug.it/ - Calendario attività:
http://www.avilug.it/doku.php/calendario
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Posta certificata, S/MIME v3 e CMS... Suggerimenti?

2017-05-16 Per discussione Luca
Il giorno 16 maggio 2017 14:46, Mauro Morichi 
ha scritto:

> no, non credo che il problema riguardi il mime, ma il come viene
> impostato il "mail from". L'errore mi pare abbastanza chiaro.
> la pec e' una normalissima mail con ssl attivo, nulla di piu', il resto
> e' nell'attivita' dei server, che a noi poveri mortali non riguarda.
> credo tu abbia un problema nell'impostazione del mail from semplicemente.
>

In realtà è stato anche il mio primo pensiero. Ma visto che il programma
funziona correttamente con gli indirizzi non PEC; ssl tls etc che sia ho
pensato potesse influire un eventuale incapsulamento o simile.

Ora ho avuto la possibilità utilizzare un account pec di aruba e non
legalmail. E non mi da nessun errore. Posta arrivata etc etc.
Il che in effetti mi perplime e mi angustia ulteriormente... è un problema
di legalmail o ci possono delle *varianti* nei vari providers?


-- 
Luca
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Posta certificata, S/MIME v3 e CMS... Suggerimenti?

2017-05-16 Per discussione Mauro Morichi


Il 16/05/17 14:32, Luca ha scritto:
> Ho provato a spedire configurando il client con SSL/TLS e l'account
> legalmail secondo le specifiche dell'help ma mi da un errore
>  
> - SMTPSenderRefused: (550, 'Mail from not valid', None)
> 
> E presumo sia dovuto al fatto che non sto utilizzando il MIME (S/MIME)
> giusto.
>  ... ci studio.

no, non credo che il problema riguardi il mime, ma il come viene
impostato il "mail from". L'errore mi pare abbastanza chiaro.
la pec e' una normalissima mail con ssl attivo, nulla di piu', il resto
e' nell'attivita' dei server, che a noi poveri mortali non riguarda.
credo tu abbia un problema nell'impostazione del mail from semplicemente.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Posta certificata, S/MIME v3 e CMS... Suggerimenti?

2017-05-16 Per discussione Luca
Il giorno 16 maggio 2017 14:12, Nicola Gramola 
ha scritto:

>
> Per quanto ne so per spedire posta certificata devi usare una casella di
> posta certificata altrimenti il ricevente potrebbe non accettare l'email.
>

Si in effetti per i test so utilizzando un account legalmail.


> Il tuo programma che deve interfacciarsi con l'SMTP di invio come fosse un
> normale client impostando le specifiche del provider SSL/TLS auth eccetra.
>
> Se provi a spedite direttamente dal programma non penso che il server SMTP
> destinatario accetti l'inoltro.
>

Ho provato a spedire configurando il client con SSL/TLS e l'account
legalmail secondo le specifiche dell'help ma mi da un errore

- SMTPSenderRefused: (550, 'Mail from not valid', None)

E presumo sia dovuto al fatto che non sto utilizzando il MIME (S/MIME)
giusto.
 ... ci studio.

-- 
Luca
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Posta certificata, S/MIME v3 e CMS... Suggerimenti?

2017-05-16 Per discussione Nicola Gramola
> Come si può evincere dall'oggetto, sto cercando di implementare la PEC su
> un mio programmino di invio email trmite SMTP.
> In questo momento sto provando m2crypto
>  e studiando s/mime
>  e CMS
> ... senza grossi risultati in verità.
>
>
Per quanto ne so per spedire posta certificata devi usare una casella di
posta certificata altrimenti il ricevente potrebbe non accettare l'email.
Il tuo programma che deve interfacciarsi con l'SMTP di invio come fosse un
normale client impostando le specifiche del provider SSL/TLS auth eccetra.

Se provi a spedite direttamente dal programma non penso che il server SMTP
destinatario accetti l'inoltro.

-- 
 * Nicola Gramola (°> Above all, be cool!
@ https://t.me/nicola_gramola
 - linux addicted - keep calm and clear cache - keep it simple
 - Linux Counter: 324870 http://linuxcounter.net
 - AViLUG - AViCoderDojo: http://www.avilug.it/ - Calendario attività:
http://www.avilug.it/doku.php/calendario
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Posta certificata, S/MIME v3 e CMS... Suggerimenti?

2017-05-16 Per discussione Luca
Salve a tutti,

Come si può evincere dall'oggetto, sto cercando di implementare la PEC su
un mio programmino di invio email trmite SMTP.
In questo momento sto provando m2crypto
 e studiando s/mime
 e CMS
... senza grossi risultati in verità.

Qualcuno di voi ha esperienze a riguardo ? suggerimenti ? una parola di
conforto?

grassie
-- 
Luca
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python