今回の講義ではExcelなどでよくやるように、
小さい順からの並び替え、
大きい順からの並び替え、
他にも2つ以上の列の並び替えの方法などを学びます。
前準備として予めキノコードさんのサイトから
sampleデータをダウンロードしてjupyternotebookと同じ
フォルダに保存しておく必要があります。
事前にダウンロードが必要なデータ
いつも通りPandasをインストールしてDataFrameを表示
させる行を指定します。
import pandas as pd
pd.set_option('display.max_columns', None) # 最大表示列数
pd.set_option('display.max_rows', 5) # 最大表示行数
ここから、いつもはread_csvメゾットを使用しますが、
読み込むファイルがエクセルなのでread_excelメソッドを使います。
さらに、シートも指定します。
df = pd.read_excel('sample.xlsx',sheet_name='実績管理表')
df
read_excel関数でエクセルデータを読み込めない
対処法その1 xlrdのインストール
で、上記コードを実行するとエラーが帰ってきます。
どうやらpandasだけではダメらしく、
事前にxlrdというライブラリをpipでインストールする必要があります。
xlrdとはPythonでExcelファイル(.xlsx .xls)の読み込みを
行うため必須のライブラリみたいです。
!pip install xlrd
Collecting xlrd
Downloading xlrd-2.0.1-py2.py3-none-any.whl (96 kB)
Installing collected packages: xlrd
Successfully installed xlrd-2.0.1
対処法その2 openpyxlのアップグレード
で、私の環境の場合エクセルを再度読み込ませようとしたら、
エラーになりました。
エラー内容を見てみるとopenpyxlのバージョンが古い、
みたいな英語が出ていました。
なのでネットで調べてみるとバージョンアップの方法が
かかれておりまして、
!pip install openpyxl -U
でアップグレードができる
てきなことが書いてありましたので、早速やってみました。
!pip install openpyxl -U
df = pd.read_excel('sample.xlsx',sheet_name='実績管理表')
df
売上日 社員ID 氏名 性別 商品分類 商品名 単価 数量 売上金額
0 2020-01-04 a023 河野 利香 女 ボトムス ロングパンツ 7000 8 56000
1 2020-01-05 a003 石崎 和香菜 女 ボトムス ジーンズ 6000 10 60000
... ... ... ... ... ... ... ... ... ...
222 2020-12-30 a047 上瀬 由和 男 ボトムス ハーフパンツ 3000 3 9000
223 2020-12-31 a036 西尾 謙 男 ボトムス ロングパンツ 7000 10 70000
224 rows × 9 columns
すると、やっとのことでエクセルデータを読み込む事ができました。
なかなか長い道のりでしたが、ネットでいろいろ調べて
なんとか解決できたので妙な達成感があります。
やっとデータを読み込めましたが、力尽きたので今日はここまでにします。
あとで見てみると、キノコードさんの講義ではAnacondaという
ソフトをインストールして講義を進めておられていて、
私はjupyter labだけをインストールしていたので、
環境の若干の違いがあるようです。
今日もとても勉強になりました。
コメント