UnicodeDecodeError 

複数のCSVを一つのCSVにマージしようと思っていましたが、エラーが出てしまったため調べることに

目次

エラー内容

(result, consumed) = self._buffer_decode(data, self.errors, final)UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x94 in position 0: invalid start byte

(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x94 in position 0: invalid start byte

と出てしまいなかなかエラーが解消しない。

一番最初にやってみたこと

utf-8と書かれていたので、読み込みファイルに下記を追加するという方法をよく見かけたので読み込みファイルに追記。

,'r', encoding="utf_8"

encodeを入れてみるが何も変わらない・・・

次にやってみたこと

次にやってみたことは、「Network Kanji Filter」を利用することに。

nkfコマンドをインストール

$ brew install nkf

とターミナルに入力。

これに関しては一度入力すればOK。次回からは不要なコマンドです。

現在のファイルの文字コードを確認

まず、ファイルがUTF-8かを確認するために下記のコマンドを書いてみます

$ nkf -g hogehoge.csv

これで、UTF-8の場合は問題ないのですが、大体これでShift-JISになっているのでは?

文字コードをUTF-8に変換

Shift-JISのファイルの場合、下記コマンドでUTF-8に変換することが可能

nkf -w --overwrite hogehoge.csv

作ったcsvを確認したところ、無事UTF-8に変換されていました。

再度プログラムを実行したら、うまくいったのでCSVの文字コードを疑う方がよいかも?

参考サイト

https://blog.tamesuu.com/2018/08/12/68/

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次