Python プログラミング

【pandas】csv出力時にcp932を指定するとUnicodeErrorが起こる場合の対処法

この記事は約2分で読めます。

 

pandasで処理したデータをcsv出力する際にwindowsでcsvを開いた際に文字化けしないようにエンコード方式をcp932に指定すると、テキストに絵文字や特殊文字が入っていたり内容次第ではUnicodeErrorが起きてうまく出力できない場合があります。今日はその場合の対処法についてメモしておきます

 

エラーメッセージ

 

UnicodeEncodeError: ‘cp932’ codec can’t encode character ‘\xa0’ in position 16: illegal multibyte sequence

 

対処法

 

解決法としてはwith文とopen関数で開いたCSVに対して、to_csv()で出力すると良いです。引数についての簡単な補足ですが、まずerrors=”ignore”とすることで特殊文字のエラーを無視し、 newline=””とすることで出力したcsvに1行ごとに空行が入ることを防ぎます

 

with open("test.csv", mode="w", encoding="cp932", errors="ignore", newline="") as f:
    # pandasでファイルオブジェクトに書き込む
    df.to_csv(f, index=False)

 

 

関連記事:ファイル書き出し時に「cp932 codec can’t encode character」エラーが出る際の解決法

関連記事:pandasのread_csv()で「Unicode BOM付」csvファイルを読み込む方法

関連記事:pandasでcsv読み込み時に「UnicodeDecodeError」が出る際の解決方法


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 関連記事:【pandas】csv出力時にcp932を指定するとUnicodeErrorが起こる場合の対処法 […]

タイトルとURLをコピーしました