[Python] lettere accentate in un file csv

Giuseppe Amato giuamato a gmail.com
Gio 21 Giu 2012 12:40:52 CEST


Hai provato a decodificare tutto come utf-8 utilizzano encode e decode?

Il giorno 21 giugno 2012 12:27, Daniele Zambelli <daniele.zambelli a 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 a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



-- 
----------------------------------------------------------------------
Giuseppe Amato
e-mail: giuamato a gmail.com
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120621/d892497a/attachment.html>


Maggiori informazioni sulla lista Python