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.open
でignore
を指定のうえエラーを無視して開いて、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のまま渡して良いみたいですね。
チョットハマって右往左往したのでメモまで。