Ciao, con questo script dovrei prendere un file CSV con all'interno degli indirizzi email (uno per riga) e creare un file sempre CSV che contenga i rispettivi con hash MD5.

Niente, alla fine mi dà sempre errore, mi crea un file csv con l'intestazione di colonna "mail" e poi è vuoto

codice:
import csv
import hashlib
import hmac
import base64

IN_PATH = '/Users/pippo/originale.csv'
OUT_PATH = '/Users/pippo/originale-criptato.csv'
ENCODING = 'utf8'
HASH_COLUMNS = dict(mail='md5')


def main():
    with open(IN_PATH, 'rt', encoding=ENCODING, newline='') as in_file, \
            open(OUT_PATH, 'wt', encoding=ENCODING, newline='') as out_file:
        reader = csv.DictReader(in_file)
        writer = csv.DictWriter(out_file, reader.fieldnames)
        writer.writeheader()
        for row in reader:
            for column, method in HASH_COLUMNS.items():
                data = row[column].encode(ENCODING)
                digest = hashlib.new(method, data).hexdigest()
                row[column] = '0x' + digest.upper()
            writer.writerow(row)

if __name__ == '__main__':
    main()
Questo è l'errore che mi ritorna.

Errore.jpg

Che sbaglio?