pythonに読ませるなら、文字形式はutf-8にして欲しいものですが、
データ出力側も色々な事情ありますから、受け側で変換して読み込まなければならないケースも多々あります。
Windows&Excelの環境で出力されるcsvは、シフトJISです。。。
ということで、pandasで、
import pandas as pd
dataset1 = pd.read_csv("hogehoge.csv",encoding="shift_jis")
とやれば、OKだなーと思って油断してると、たまにちゃんと読めないことがあります。
test.csv
山田,1000
佐藤,2000
山本,3000
これは読めますが、
test2.csv
1,山田,1000
2,髙橋,2000
3,黑﨑,3000
もれなく、下記のエラーが出ます。。。
UnicodeDecodeError: 'shift_jis' codec can't decode byte 0xfb in position 0: illegal multibyte sequence
これは、test2.csvに、
・ハシゴダカ "髙"
・タチサキ "崎"
等の、windows拡張文字列が混ざっている事に起因します。
このような文字を読むためには、文字コードをcp932としてやる必要があります。
encoding='cp932'
こういう事があるので、windowsだから、shift_jisで読んどけばOKという意識ではなく、
最初から、cp932で読むようにしておけば、無駄なトラブルに悩まされなくて良いというお話でした。
import pandas as pd
dataset1 = pd.read_csv("hogehoge.csv",encoding="cp932")
※下記サイト大変参考になりました。
「Shift_JIS と Windows-31J (MS932) の違いを整理してみよう」
http://weblabo.oscasierra.net/shift_jis-windows31j/