Hai provato a decodificare tutto come utf-8 utilizzano encode e decode? Il giorno 21 giugno 2012 12:27, Daniele Zambelli <daniele.zambe...@gmail.com > ha scritto:
> Salve, devo modificare l'intestazione di un file csv. > > Il file originale è: > > "id","019 [E' la più ]","019 [Abbiamo]","019 [perché ci ]","019 > [Consigli di amici]" > "3","NO","NO","NO","Sì" > "4","NO","Sì","Sì","NO" > > vorrei: > > "id","E' la più ","Abbiamo","perché ci","019 [Consigli di amici]" > "3","NO","NO","NO","Sì" > "4","NO","Sì","Sì","NO" > > Il programma è i seguente: > > NFI = 'prova_orig.csv' > NFO = 'prova_mod.csv' > > TRANSLATE_HEADER = {'''"019 [E' la più ]"''': '''"E' la più"''', > '''"019 [Abbiamo]"''': '''"Abbiamo"''', > '''"019 [perché ci ]"''': '''"perché ci"''', > } > for k, v in TRANSLATE_HEADER.items(): print(k, '-->', v) > > def mod_header(line): > lline = line.split(',') > # for s in lline: print(s) > for i in range(len(lline)): > print(lline[i]) > lline[i] = TRANSLATE_HEADER.get(lline[i], lline[i]) > print(lline[i]) > return(','.join(lline)) > > fi = file(NFI) > fo = file(NFO, 'w') > oldtext = fi.readlines() > fo.write(mod_header(oldtext.pop(0))) > for line in oldtext: > fo.write(line) > fo.close() > > ma ottengo: > > "id","019 [E' la più ]","Abbiamo","019 [perché ci ]","019 [Consigli di > amici]" > "3","NO","NO","NO","Sì" > "4","NO","Sì","Sì","NO" > > Cioè i campi che contengono lettere accentate non vengono cambiati. Ma > se provo le stesse cose nella shell IDLE su stringhe non lette dal > file sembra che funzioni... > > Qualche consiglio? > > Grazie > > -- > > Daniele > > www.fugamatematica.blogspot.com > > giusto! > nel verso > forse è perché non guardiamo le cose > Quando non ci capiamo, > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > -- ---------------------------------------------------------------------- Giuseppe Amato e-mail: giuam...@gmail.com
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python