- Introduction
- Manipulation et mise en forme des données
- Importation et exportation des données
- Visualisation de données
- Modélisation statistique
- Communication
- Programmation avancée
- Outils mathématiques
- Introduction
- Manipulation et mise en forme des données
- Importation et exportation des données
- Visualisation de données
- Modélisation statistique
- Communication
- Programmation avancée
- Outils mathématiques
|
Wikipédia propose un article sur : « Codage des caractères ». |
L'import de fichiers CSV et des fichiers texte en général peut poser des problèmes d'encodage de caractères. Dans cette section, nous passons en revue des méthodes pour détecter l'encodage d'un fichier et convertir le fichier avant de l'importer dans R. Ces méthodes fonctionnent sous Mac OS X et Linux.
Détecter l'encodage
Dans cette section, nous prenons pour exemple la liste des départements 2016 publiées par l'Insee[1].
Détecter l'encodage avec la commande file
Pour les utilisateurs de Mac OS X et Linux, nous recommandons d'ouvrir une fenêtre d'un Terminal, d'aller dans le dossier correspondant (avec la commande cd) et d'utiliser la commande file -i
$ cd ~/Documents/monprojet/data/ $ file -i depts2016.txt depts2016.txt: regular file
Dans certains cas, cette commande permet de connaître l'encodage des caractères. Dans ce cas précis, nous n'avons pas d'information sur l'encodage des caractères dans ce fichier. Nous allons utiliser la commande chardetect.
Détecter l'encodage avec la commande chardetect
Pour installer chardetect, il suffit d'utiliser la commande pip install dans un terminal :
$ pip install chardet
Pour détecter l'encodage, on tape simplement chardetect suivi du nom du fichier :
$ chardetect depts2016.txt depts2016.txt: windows-1252 with confidence 0.73
La commande nous indique que le fichier depts2016.txt est probablement encodé en windows-1252.
Convertir l'encodage d'un fichier
Pour convertir le fichier en encodage utf-8 (l'encodage couramment utilisé sur Linux et Mac OS X), on utilise la commande iconv. iconv trois paramètres : l'encodage d'origine (-f pour from), l'encodage de destination (-t pour to) et le nom du fichier :
$ iconv -f windows-1252 -t utf-8 depts2016.txt REGION DEP CHEFLIEU TNCC NCC NCCENR 84 01 01053 5 AIN Ain 32 02 02408 5 AISNE Aisne 84 03 03190 5 ALLIER Allier 93 04 04070 4 ALPES-DE-HAUTE-PROVENCE Alpes-de-Haute-Provence 93 05 05061 4 HAUTES-ALPES Hautes-Alpes 93 06 06088 4 ALPES-MARITIMES Alpes-Maritimes 84 07 07186 5 ARDECHE Ardèche
On voit que cette fois-ci, les accents sont correctement affichés.
Pour enregistrer le résultat, on peut imprimer le résultat de cette commande dans un nouveau fichier texte en indiquant tout simplement le nom du fichier de destination après un chevron > :
$ iconv -f windows-1252 -t utf-8 depts2016.txt > depts2016_utf8.txt
Notes et références
Voir aussi
- iconv sur la documentation francophone de la distribution Ubuntu
- tutoriel encodage des caractères sur la documentation francophone de la distribution Ubuntu

