Path: csiph.com!pasdenom.info!usenet-fr.net!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!cleanfeed3-a.proxad.net!nnrp1-2.free.fr!not-for-mail From: Damien Wyart Newsgroups: fr.comp.lang.python Subject: Re: Encodage =?iso-8859-1?Q?caract=E8res=2E?= Organization: Serveur de News Free References: <111frs7$2plfv$1@dont-email.me> Date: Wed, 24 Jun 2026 11:03:38 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/32.0.50 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Lines: 29 Message-ID: <6a3b9d6c$0$7093$426a74cc@news.free.fr> NNTP-Posting-Date: 24 Jun 2026 11:03:40 CEST NNTP-Posting-Host: 90.0.197.158 X-Trace: 1782291820 news-2.free.fr 7093 90.0.197.158:55084 X-Complaints-To: abuse@proxad.net Xref: csiph.com fr.comp.lang.python:4339 Bonjour, * Dominique in fr.comp.lang.python: > Je rencontre un problème qui me semble aléatoire d'encodage des > fichiers csv. Parfois c'est de l'utf-8, parfois c'est de l'ISO > 8859-15, parfois c'est du latin1. Bref, je tâtonne et je perds du > temps. > Existe-t-il une solution pour identifier exactement l'encodage d'un fichier csv > et l'ouvrir avec le bon 'encoding' ? Une approche naïve si la liste des encodages est courte consiste à utiliser try/except ; simple mais pas vraiment élégant. Sinon il y a des bibliothèques de détection mais bien sûr elles ne peuvent pas être fiables à 100% (elle travaillent sur un échantillon du fichier et il n'y a pas forcément unicité). La plus connue est chardet (on en a pas mal parlé dans le monde open source récemment car elle a été réécrite entièrement et cela a posé des questions de licences) : https://chardet.readthedocs.io/en/latest/usage.html https://github.com/chardet/chardet https://lwn.net/Articles/1061534/ La façon précise de relier chardet à la partie CSV dépendra de la façon de traiter le format : traitement direct sur les chaînes, utilisation du module csv standard, utilisation de Pandas... -- DW