はじめに
Pythonのデータ解析ライブラリ pandasでCSVを読み込む方法と「読み込むファイルの指定方法」「Shift-JIS対策」について、わかりやすく・シンプルに解説します。
※ クリックで各項目にジャンプできます
環境
この記事は以下の環境で作成しています。
Python | 3.9.6 |
pandas | 4.7.2 |
OS | Windows10 |
「Windows10 + Python + pandas + venv」の環境で作成しています。(AnacondaやJupiterNotebookは使用していません)
「環境やインストール方法が知りたい」という方は、以下の記事をご覧ください。
最新技術に追いつけない...という方へ
Pythonやソフトウェアのトレンドについて「何を見ればいいかわからない」「早すぎて追いつけない!」という方は、今の時代でも雑誌が便利です。
最近は目にする機会が減っているかもしれませんが、正確できちんと編集された情報が「手軽」に読めるのは、今も昔も雑誌しかありません。電子化もされているので保管や廃棄に困ることもなくなりました。
Pythonも毎回特集されていて、機械学習やエディタなどの情報も一石二鳥でキャッチでます。若手の会話に「なにそれ…」となる前に、手軽に最新情報を仕入れましょう。
最新号以外はKindleUnlimitedに対応しています。今なら2か月分が980円です。
実行結果
以下3つのCSVファイルを読み込んだ結果です。
- Pythonファイルと同じ場所に置かれたCSVファイル
- Pythonファイルと別の場所に置かれたCSVファイル
- 文字コードがShift-JISのCSVファイル
CSVファイルの内容
それぞれのCSVファイルの内容は以下の通りです。
Pythonファイルと「同じ場所」に置かれたCSVファイル
Pythonファイルと同じ場所に以下のファイルが保存されています。

Pythonファイルと「別の場所」に置かれたCSVファイル
Pythonファイルと別の場所に以下のファイルが保存されています。記事ではCドライブの下に作成したCsvDataというフォルダ(Pythonファイルと別の場所)に以下のファイルを置いています。

文字コードがShift-JISのCSVファイル
Shift-JISで保存されたファイルです。上記と同じCドライブの下に作成したCsvDataというフォルダ(Pythonファイルと別の場所)に以下のファイルを置いています。

実行結果
プログラムの実行結果は以下の通りです。
# 同じ場所に置かれたCSVファイル
name age color flag
0 jiro 11 Blue True
1 saburo 21 Green False
# 別の場所に置かれたCSVファイル
name age color flag
0 jiro 11 Blue True
name age color flag
# Shift-JISで保存されたCSVファイル
0 太郎 1 Red True
1 じろう 11 Blue True
2 サブロー 21 Green False
全体コード
全体コードは以下の通りです。詳細は後述するコードのポイントの中で解説します。
from operator import index
import pandas as pd
# --- CSVを読み込みます ---
# pythonファイルと「同じ場所」のファイル
df_same = pd.read_csv("data_same.csv")
# pythonファイルと「別の場所」のファイル
df_other = pd.read_csv("C:\CsvData\data_other.csv")
# pythonファイルと「同じ場所」の「Shift-jis」のファイル
df_sjis = pd.read_csv("C:\CsvData\data_sjis.csv", encoding="Shift-JIS")
# --- 読み取ったCSVを表示します ---
# 同じ場所のCSVファイル
print(df_same)
# 別の場所のCSVファイル
print(df_other)
# Shift-JISのCSVファイル
print(df_sjis)
コードのポイント
ファイルの読み込みと指定
CSVファイルの読み込みにはread_csv関数を使います。関数の引数に「ファイルの場所(パス)と名前」を指定することで、読み込むファイルを指定できます。
ファイル指定の方法は、CSVファイルがPythonファイルと「同じ場所か、別な場所か」で分かれます。
同じ場所: パスを指定しない
CSVファイルが「Pythonファイルと同じ場所(カレントディレクトリ)の場合」、以下のようにファイル名のみを指定します。
# pythonファイルと「同じ場所」のファイル
df_same = pd.read_csv("data_same.csv")
別の場所:パスの指定する
CSVファイルが「Pythonファイルと別の場所に保存されている場合」、以下のように「場所+ファイル名」の形式で指定します。
# pythonファイルと「別の場所」のファイル
df_other = pd.read_csv("C:\CsvData\data_other.csv")
上記は「絶対パス」という、パスのトップ(Cドライブ)から指定する方法です。Pythonファイルの保存場所から見て「ひとつ上」のような「相対パス」で指定することもできます。
読み込みエラーとShift-JIS対策
Pythonのデフォルトの文字コードは「UTF-8」という形式です。そのため、Windowsでよく使う文字コードである「Shift_JIS」形式をで保存されたファイルを読み込む場合は、read_csv関数に「encoding」という引数が必要になります。
文字コードは、Windows10のメモ帳で確認することができます。CSVファイルを開いて右下に「ANSI」と表示されたら、開いたファイルの文字コードは「Shift-JIS」です。

「encoding」に以下のようにShift_JISの設定をしてください。
# pythonファイルと「同じ場所」の「Shift-jis」のファイル
df_sjis = pd.read_csv("C:\CsvData\data_sjis.csv", encoding="Shift-JIS")
Windows10の旧バージョン・Windows7などを使用している場合は、「TeraPad」(無料のメモ帳アプリ)がおすすめです。上記と同様に右下に文字コードが表示されます。
まとめ
Pythonのデータ解析ライブラリ pandasでCSVを読み込む方法と「読み込むファイルの指定方法」「Shift-JIS対策」について解説しました。参考になればうれしいです。
初心者にもやさしい本があります(コスパもよし)
高度で専門的な本が多いpandasですが、Python・pandas 両方の初心者に優しい本があります。
難しそうな表紙に見えますが、変数などの「Pythonの基礎」、データ構造・データ解析入門などの「pandasの基礎」二つとも綺麗に書かれていて、Amazonのレビューでも「わかりやすい」という内容が目立ちます。
2つの内容が一冊で読めてコスパも良好な本なので、「これからPython・pandasをマスターしていきたい!」という方は、是非以下の書籍で初めてみてください。

CSVから読み込んだ後は
このブログではCSVから読み込んだ後のデータの操作や、読み取り後のデータ形式(DataFrame)についての内容も解説しています。興味がある場合は、是非以下のリンクも参考にしてみてください。
CSVファイル読み込み後に単一要素にアクセスする
読み込み後のCSVファイルの形式「DataFrame」について
応援・要望お待ちしてます
ブログを見ていて「この辺を詳しく知りたい」「このライブラリの使い方を知りたい」「こんなことで困ってる」...etc があれば、コメント・問い合わせ・Twitterで教えてください。質問・ご要望に合わせて解説記事を作ります。
ブログを気に入っていただけたり、「応援してもいいよ」という方がいたら、ブログやSNSでの紹介をお願いします。 あたたかい応援は、中の人の更新の大きな励みになります。