【Python入門】パソコンにあるエクセルファイルをPythonで読み込む方法

Python・GAS
ワタシ

今回はPythonのデータ分析の基礎である”ファイルの読み込み”についてまとめます。

Pythonという言語やデータサイエンスという概念がブームを迎える中、そもそもPythonでのデータ分析はどこから着手するべきなのでしょうか?

またここで、どのようなデータ分析であれ、データを読み込むという作業はあり、この読み込み作業の多くが未だエクセルのデータだったりしもあします。

私自身、営業上がりのプログラミング素人になりますので、似たような考えで実学として使える知識を積み重ねたいと感じている人はご参考にして頂けると幸いです。

合わせて確認したい記事

Pythonを時短で基礎から応用まで一気に学びたい時はこちらもオススメ!
>>【Python】TechAcademyを実際に使ってみて学べたこと

今回の論点整理

今回のアウトプット

今回はとりあえずエクセルの読み込み(csv, xlsx)の部分です。コード自体は超シンプルで一瞬でできました。

COVID-19 全国の感染状況 (SIGNATE公開データより作成)

今回のように読み込みをサクッと出来れば、挙動が重くなるモッサリしたエクセルファイルでもpython上ではサクサクっ!とデータ処理の作業が出来そうです。

今回の抑えドコ

今回の学習ポイントは以下の通りです。

抑えドコ!
  • 今回の焦点
    ▷エクセルファイルを読み込み扱える
    (想定場面:エクセルの読み込み・集計)
  • ポイント
    ▷pandasというものを理解する
    ▷参照位置を指定できるようになる
    ▷データを読み込むコードを使う

今回のポイント

ポイント①Pandasとは?

pandasはこの手の表計算系をやりたいなら無意識に読み込んでおくべき分析ツール(ライブラリ)です。Pythonを動かす際は

「これから表計算します!ツール使えるようにして下さい!」

と機械に環境整備の注文をする必要があり、今後もこいつは都度読み込みます。ただ、これが読み込めれば、エクセルでいじくっているようなやり方は大体のことが出来ちゃいます。

そのため、Python内でエクセル立ち上げる感覚で冒頭におまじないのような感覚でコードを毎回宣言する必要があります。で、そのコード内容というのは。

import pandas as pd

この1行を書くだけ!それだけです。今後他のコードも似たような冒頭のおまじない的なもの(ライブラリ記載)が出てきます。

ポイント②参照位置を指定する

そして、もう一つコードを書く前に抑えておきたいのが

「参照している場所が分からない問題」

です。何かというと参照先の設定がよくわからず、指定した先のディレクトリ(フォルダ)が空で読み込みエラー!みたいなことがプログラミングをしていると発生します。

そのため、それを防ぐためにまずはこいつで位置を確かめましょう。そして必要に応じてディレクトリ(フォルダ)を変更しましょう。

やるべきは2点「今の参照場所(カレントディレクトリ)を知ること」、「参照場所を移動すること」です。コードは以下の通り。

%pwd        #カレントディレクトリ名の取得
%cd /anaconda3 # /anaconda3ディレクトに移動
%cd        # ホームディレクトリに移動

また、pythonコードで以下の形でもできますのでお好きな方で。

import os           #場所情報を操るライブラリを読み込み
os.getcwd()        #カレントディレクトリを取得
os.chdir('../')   #../の位置に移動

ただ、一番手っ取り早いのは、Jupyter notebookで参照(作成)したファイルのあるディレクトリ内に直接Csvを置いちゃうのが楽です。変に移動する必要もないと思います。

ポイント③データを実際に読み込む

そして、ようやく肝心のファイルの読み込みです。以下のコードだけ。

#csvの取り込み
train = pd.read_csv('●●読み込みたいファイル.csv', sheet_name=0, header=0)
#xlsxの取り込み
train = pd.read_excel('●●読み込みたいファイル.xlsx',sheet_name=0, header=0)

たったこれだけです。これで問題なければ読み込めます。もしもエラーが出た場合は以下をよみこんでもう一度試していただきたいと思います。(尚、このコードのSheet_nameは何個目のタブを参照するかというものです0始まりなので注意です)

#エクセルファイルを読み込む関数を読み込む
$ pip install xlrd

で、その後にその読み込んだものがちゃんと読み込まれているかは以下のコードで出力です。

#実際のデータを抜粋して確認
print(train.shape)
train.head()

実際に読み込めたのがこれです。

めでたく読み込めました。尚、急に出てきた下記の2つのファイルは以下の通り

  • print(●●):()内の●●(ファイルや文字列)を出力します。
  • ●●.shape:●●(表データ)のサイズを示します。
  • ●●.head():●●(表データ)の頭5行だけ取り出す

上記深く考えなければ、特段難しいことはないと思います。これでエクセルを使って作業をする土壌ができました。

こういった普段の業務で当たり前にやっていることのTipsを積み上げていく中で、少しずつ効率化して無駄な作業をを段々と削減させたいと思います

まとめ

今回のポイントは以下の3点でした。

今回のポイント
  • ①Pandasとは
  • 参照位置を指定する
  • ③データの読み込み

そしてコードとしては以下の通り。

#pandas(表計算用ツール)のインストール
import pandas as pd

#csvの取り込み
train = pd.read_csv('●●読み込みたいファイル.csv', header=0)

#どれくらいの分量か、実際の内容はどうか
print(train.shape)
train.head()

今回、全然大したことをしていないですが、なんらかアウトプットができると気持ちいいです。

この小さな達成感の積み重ねが今後の学習にも大事なんだろうなと思う今日この頃です。

今後、大量データの時代が到来する中で必須スキルになると想定できるのと同時に、まず最初の一歩としては身近なエクセルファイルを扱って学ぶのが得策かなと感じています。

【参考データ】IoT機器の年間生成データ量予測

とはいえ現行をきりとればエクセル中心の業務なので一足飛びで勉強しても現業に活かせずに続かない…という点も考慮すると、エクセルデータを参考に学びを深めるのが現実的な気がします。

ご精読頂きありがとうございました。
m(_ _)m

その他、Python初心者のお勉強のお供

上記の内容と併せて実務で活かすという視点では下記の参考図書も合わせて確認すると理解が深まります(-_-)

created by Rinker
¥2,138 (2023/03/23 21:53:37時点 Amazon調べ-詳細)

▼おすすめの動画学習(Udemy)

プログラミング言語の人気オンラインコース >>プログラミング講座はコチラから

※評価が4.0を超えて割引にもなっているコンテンツは特におすすめです!

その他、Python初心者が抑えたいポイント集

Python(主にデータ分析・自動化)に関しては下記のポイントを抑えると実務力につながっていきますので合わせてご参照下さい(‘ω’)ノ

ーPythonのインストール、データ読み込み、各種分析を試すー

【Python入門】WindowsとiPad両方でプログラミング環境を整える

【Python入門】エクセルファイルの読み込み方法

【Python入門】エクセルの”ピボットテーブル”をプログラムする

【Python入門】データ分析の”ビジュアル化”で抑えるべきライブラリとは

【Python入門】回帰分析や分類問題が使えるsklearnの使い方

【Python入門】顧客データを読み込みクラスタリング・ペルソナ分析

【Python入門】画像データを元にディープラーニングで自動判別(CNN等)

【Python入門】WEB上のデータを抽出してテキストマイニング(スクレイピング)

【Python入門】Twitterデータでテキストマイニング(APIの利用)

【Python入門】機械に自動でモデル選定させる(AutoML活用)

【Python入門】iPad×Kaggleで手軽な学習環境を創る

【Python入門】iPad×Google Colabalatoryで手軽にtwitter分析

ーPythonを使ってExcelを扱う “openpyxl”の活用ー

【Python初心者】Python×効率化 社内のexcel作業の自動化を試みる①

【Python初心者】Python×効率化 社内のexcel作業の自動化を試みる②

【Python初心者】Python×効率化 社内のexcel作業の自動化を試みる③

【Python初心者】Python×効率化 社内のexcel作業の自動化を試みる④

【Python初心者】Python×効率化 社内のexcel作業の自動化を試みる⑤

合わせて確認したい記事

Pythonを時短で基礎から応用まで一気に学びたい時はこちらもオススメ!
>>【Python】TechAcademyを実際に使ってみて学べたこと