J'ajoute des données d'un fichier csv dans une base de données. Si j'ouvre le fichier CSV, certaines des entrées contiennent des puces - je peux les voir. file
dit qu'il est codé comme ISO-8859.Travailler sur l'encodage de fichier: Je connais la chaîne, connaître le caractère, quel est le codage?
$ file data_clean.csv
data_clean.csv: ISO-8859 English text, with very long lines, with CRLF, LF line terminators
je l'ai lu dans la manière suivante et le convertir de l'ISO-8859-1 en UTF-8, ma base de données nécessite.
row = [unicode(x.decode("ISO-8859-1").strip()) for x in row]
print row[4]
description = row[4].encode("UTF-8")
print description
Cela me donne les éléments suivants:
'\xa5 Research and insight \n\xa5 Media and communications'
¥ Research and insight
¥ Media and communications
Pourquoi la puce \ de xa5 comme symbole convertissent le yen?
Je suppose que je l'interprète comme un mauvais encodage, mais quel est le bon codage dans ce cas? Ce n'est pas cp1252 non plus.
Plus généralement, existe-t-il un outil où vous pouvez spécifier (i) la chaîne (ii) le caractère connu, et trouver le codage?
x.decode ("mac_roman") fonctionne. Je vous remercie! – AP257