Il 16/05/2017 19:19, Federico Cerchiari ha scritto:
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)

Ciao Federico,
bella l'idea del mapping, non ci avevo pensato, e utilizzando un DictReader potrei indirizzare per header della colonna dato che nel csv reale dove c'e ne sono alcune decine la loro posizione non è garantita.

Grazie per i suggerimenti! :)
Paolo
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a