Jupyter notebook(Python3)を使ってみようと思っても慣れていないうちは、どうしても処理に躓いてしまうものです。
例えば、Pythonのpandas機能にてread_csvやto_csvにて読み込み・出力時に文字化けする場合の対応策は理解していますか。
ここではこのpandasにてcsvが文字化けするにはencodingをShift jisかcp932にすると解決できるということについて解説していきます。
Python(Pandas)のread_csvが文字化けする時はShift jisかcp932を使用する【encoding】
それでは以下のサンプルデータを用いてPython(Pandas)のread_csvが文字化けする時の解決策を確認していきます。
Csvを読み込み時に以下のように文字化けするケースがよくあります。
これを解決するには、read_csvにて読み込み時のencodingの部分をencoding=”shift jis”を指定すればいいです。
サンプルコードは以下のようになります。
import os
os.chdir(“C://sample”)
df = pd.read_csv(“sample.csv”,encoding=”shift jis”)
df
これだけで上のようにpythonでのcsv読み込み時の文字化けを解消できました。
コードの各々の意味は以下の通りです。
import pandas as pd
→panndasライブラりのインポート
import os
os.chdir(“C://sample”)
意義osライブラリのインポート、csvが置いてあるディレクトリ内へ移動
df = pd.read_csv(“sample.csv”,encoding=”shift jis”)
df
→csvが文字化けしないようshift jis”で読み込み、python上で表示
cp932のencodingでもcsvの文字化けを解消できる
上ではcsv読み込み時のencodingとして”shift jis”にしていましたが、cp932等でもOKです。
このcp932を用いると日本語が含まれている際の文字化けはほぼ解決できると覚えておきましょう。
Python(Pandas)のto_csvが文字化けする時はShift jisかcp932を使用する【encoding】
続いて、以下のサンプルデータを用いてPython(Pandas)のto_csvにてcsvが文字化けする時の解決策を確認していきます。
以下のように一般的なencodingのutf-8にてcsv出力させると文字化けしてしまいます。
df.to_csv(r”C://sample/oksample.csv”, index=None,encoding=”utf-8″)
これを解決するためには、上と同様にencoding=”shift jis”を記載しておくといいです。
これによってto_csv時の文字化けを解消することができました。
to_csvでもcp932で文字化けを修正できる
上とと同様にencoding=”cp932″でも文字化けが解消される場合が多いです。
こちらも併せて覚えておきましょう。
他のutf8やutf16などでは文字化けしたり、1セルにすべてのデータが記載されたりするので気を付けるといいです。
まとめ Python(Pandas)にてread_csvやto_csvで文字化けする際の対処方法【Shift jisかcp932】
ここでは、jupyternotebook(python)のpandasでのread_csvやto_csv実行時に文字化けする際の対処方法について解説しました。
基本的に読み込み時でも出力時でも
・encoding=”shift jis”
か
・encoding=”cp932”
を使うといいです。
Pandas(Python)での各種処理方法に慣れ、より効率的なデータ解析を行っていきましょう。
コメント