日本語の入ったCSVファイルの読み込み方を試行錯誤したので,結果を記しておきました
こんな日本語の入ったCSVファイルを用意します
# testJP.csv "福岡",1,2 "博多",3,4 "長崎",5,6
結論から先にいうと・・
こうすれば出来ました
import codecs as cd import pandas as pd with cd.open("testJP.csv", "r", "Shift-JIS", "ignore") as file: df = pd.read_table(file,header=None,sep=',') print(df)
と書くと・・
0 1 2 0 福岡 1 2 1 博多 3 4 2 長崎 5 6
ここから下は試行錯誤した結果ですよ
普通に読み込ませると・・・
import pandas as pd df = pd.read_csv('testJP.csv')
と書くと...
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x95 in position 0: invalid start byte
読み込めませんでした,,,
cdを使うと??
import codecs as cd import pandas as pd with cd.open("testJP.csv", "r", "Shift-JIS", "ignore") as file: df = pd.read_table(file,header=None) print(df)
と書くと・・・
福岡,1,2 0 博多,3,4 1 長崎,5,6
ただこれは見ての通り,カンマで区切られてないみたいなんですね~
import codecs as cd import pandas as pd with cd.open("testJP.csv", "r", "Shift-JIS", "ignore") as file: df = pd.read_table(file,header=None) print(df)
と書くと・・・
0 0 福岡,1,2 1 博多,3,4 2 長崎,5,6
おぉ,,
結論は??
無理やり区切る
import codecs as cd import pandas as pd with cd.open("testJP.csv", "r", "Shift-JIS", "ignore") as file: df = pd.read_table(file,header=None,sep=',') print(df)
と書くと・・
0 1 2 0 福岡 1 2 1 博多 3 4 2 長崎 5 6
下記も参考に
publicjournal.hatenablog.com