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

Python・GAS・DS

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

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

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

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

【Python入門】コピペしてそのまま使えるPythonの自動化プログラムまとめ

今回の論点整理

今回のアウトプット

今回はとりあえずエクセルの読み込み(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初心者のお勉強のお供

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

▼オススメの参考書籍(Kindle)▼

created by Rinker
¥2,138 (2024/04/18 21:36:41時点 Amazon調べ-詳細)

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

>>ゼロからPythonで学ぶ人工知能と機械学習 【2023年最新版】

>>現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用

>>独学で身につけるPython〜基礎編〜【業務効率化・自動化】

【参考】Python初心者が抑えたいポイント集

Python(主にデータ分析・自動化)に関しては

下記に実践したポイントをまとめています。基本的にコピペするだけでそのまま使えます٩( ᐛ )و

【Python入門】コピペしてそのまま使えるPythonの自動化プログラムまとめ

業務効率化・自動化においてはGoogle Apps Scriptもセットで学ぶことをオススメ!

こちらもコピペしてすぐに使えます!

【GAS入門】コピペしてそのまま使えるGoogle Apps Scriptプログラム一覧

PythonとGoogle Apps Scriptどちらを深めようかを迷っていればこちら!

【徹底比較】PythonとGASをどちらを学ぶべきか?実際に両方を学んで分かった違いとオススメ学習法