3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PythonAdvent Calendar 2022

Day 6

Pythonでファイルの文字コードを自動判別

Last updated at Posted at 2022-12-05

背景

文字コードでエラーになる

皆さんはPythonを実行する際に、読み込んだファイルの文字コードが予定したものと違ったということはありませんか?
私はpipのライブラリ一覧をエクスポートした際に「UTF-8」と「UTF-16」になるということがあったので、備忘録として残しておきます。

自動で文字コードを判別するために

使用したライブラリ

chardetというライブラリを使用することによって解決できました。
公式ドキュメント:https://chardet.readthedocs.io/en/latest/

ライブラリをインストール

$ pip install chardet

コードサンプル

from chardet import detect
 
# まず対象ファイルをバイナリーで読み込む
with open("<対象ファイル>", 'rb') as bf:
    binary_data = bf.read()
    encode_data = detect(binary_data)

# 再度ファイルを開く、この際に上記で調べてエンコードを代入する
with open("<対象ファイル>", mode='r', encoding=encode_data['encoding']) as f:
    pass

最後に

これでExcelファイルからCSVを作成した際に、文字コードをいちいち開かず確認が済みますね!

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?