LoginSignup
7
10

More than 3 years have passed since last update.

read_csvの読み込みではまったとき用の備忘録

Last updated at Posted at 2018-06-21

Who am I

環境情報や、サンプルデータなど
https://qiita.com/Senple/items/b47374e68e4d8d26d0cb

まずread_csvの使い方

csvファイルであれば、基本的にはread_csvで読み込めます。

import pandas as pd

pd.read_csv('h2c1zike.csv')

しかし条件によってはたまに、読み込むことができなくて、

"utf-8"codec can't decode byte 0x81 in position 0: invalid start byte

と出てしまうことがあります。

セルの結合などの操作などを行ったExcelファイルをcsv形式で保存して、pandasの分析に使おうとすると、このエラーが出てきました。
Excel側を直しても解決するのですが...
基本的にものぐさExcelデータをいじれない場合もあるので、pandasでむりやり読み込ませる方法はないものかと、エラーコードでGoogle検索した結果、以下の記事を見つけました!
◆pandasでread_csv時にUnicodeDecodeErrorが起きた時の対処 (pd.read_table())
https://qiita.com/niwaringo/items/d2a30e04e08da8eaa643

codecsを使って読み込む

import codecs

with codecs.open("h2c1zike.csv",mode ="r", encoding= "Shift-JIS",errors="ignore") as file:
    data = pd.read_table(file, delimiter=",",header=None)

変なことあっても無視してね!ってことで、力業で読み込んでくれます。
とっても便利なので、pandasがread_csvが嫌いになる前にいちど試してみてください。

関連情報

csvとして出力する方法を追記しておきます。

data.to_csv("Semple.csv")

dataをSemple.csvという名前で出力する。

7
10
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
7
10