VOOZH about

URL: https://qiita.com/niwaringo/items/d2a30e04e08da8eaa643

⇱ pandasでread_csv時にUnicodeDecodeErrorが起きた時の対処 (pd.read_table()) #Python - Qiita


👁 Image
284

Go to list of users who liked

211

Share on X(Twitter)

Share on Facebook

Add to Hatena Bookmark

More than 5 years have passed since last update.

@niwaringo

pandasでread_csv時にUnicodeDecodeErrorが起きた時の対処 (pd.read_table())

284
Posted at

pandasでCSVファイルを読み込む場合はread_csvするだけなので非常に便利です。

import pandas as pd
pd.read_csv("file/to/path")

通常は上記で問題無いのですが、CSVの中にダメな文字があると以下のようなエラーを吐かれてしまいます。

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 0: invalid start byte

「デコード出来ねーぞ」ってお怒りの模様。

Excel作成のCSVは文字コードが「shift-jis」なので、一応読み込みのencodingでを指定してみますが、

import pandas as import pd
pd.read_csv("file/to/path", encoding="shift-jis")

やっぱりエラー。ですよね。

UnicodeDecodeError: 'shift_jis' codec can't decode byte 0x87 in position 0: illegal multibyte sequence

解決策としては、codecs.openignoreを指定のうえエラーを無視して開いて、pd.read_tableすると読み込めるみたい。

with codecs.open("file/to/path", "r", "Shift-JIS", "ignore") as file:
 df = pd.read_table(file, delimiter=",")
 print(df)

file.read()とせずにそのままStreamReaderWriter objectのまま渡して良いみたいですね。

チョットハマって右往左往したのでメモまで。

284

Go to list of users who liked

211
3

Go to list of comments

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
284

Go to list of users who liked

211