Python2.7.6をpycharmでデータ分析をしようと思い立ち絶賛勉強中です。
今回は、解析対象の日本語で書かれたcsvファイルを読み込んだところ
見事に文字化けしたファイルが出力されました。
いろいろ調べた結果、以下の方法で解決しました。
なぜcsvファイルが文字化けしたのか
文字化けしたファイルは前に作成したエントリーと同様の方法で
行いました。
import pandas as pd
import os
# データが格納されている作業ディレクトリまでパス指定
os.chdir("/ディレクトリまでのファイルパス")
# csvの読み取り
df= pd.read_csv("japanese.csv")
print df
しかし、csvの読み取りの際に、文字コードを指定していなかったため、
無事文字化けしたファイルが読み取られました。
文字化けしない日本語csvファイルの読み取り方法
そこで、次のような方法でcsvファイルをSHIFT-JISで読み取ったところ、
見事、日本語でcsvファイルが表示されました!
import pandas as pd
import os
# データが格納されている作業ディレクトリまでパス指定
os.chdir("/ディレクトリまでのファイルパス")
# 文字コードを指定したcsvの読み取り
df= pd.read_csv("japanese.csv",encoding="SHIFT-JIS")
print df
さて、このように日本語csvファイルが読み込めたので、いよいよデータを加工するぞ!
となったのですが、文字コードをいろいろ弄っているうちに、日本語で指定した列を
取得することができず、またもや苦戦しました...
日本語で書かれた列のみを抽出する
欲しい列のみを取ってくるには、明示的にcolumnを指定する
loc[:,"欲しい列名"]
を記載すれば、”欲しい列名”以下の列をすべて取得してくれるそうです。
こちらに詳しい解説が載っています。
結果、次のように記載するば、
"欲しい列の名前"が書かれている列を
ごそっと取得することができました!
import pandas as pd
import os
# データが格納されている作業ディレクトリまでパス指定
os.chdir("/ディレクトリまでのファイルパス")
# 文字コードを指定したcsvの読み取り
df= pd.read_csv("japanese.csv,encoding="SHIFT-JIS"")
column = df.loc[:,[u'欲しい列の名前']]
print column
今回も基本的なところで躓いてしまっているのですが、
もし、同じ悩みを抱えている人がいたら参考になればと....