Pythonにてエクセルファイルの読み書きをする。

Pythonにてエクセルファイルの読み書きをする。

Pythonを使って表データによく使われるExcelファイルの読み書きをしてみよう。

Excelファイルを扱えるようになる外部ライブラリ、openpyxlとファイルを読み込むxlrd、ファイルを書くxlwtをインストールしておきましょう。

Windowsにインストールするときは、コマンドプロンプトを使います。

pip install openpyxl xlrd xlwt

macOSにインストールするときは、ターミナルを使います。

pip3 install openpyxl xlrd xlwt

準備のため「Python_excel」というフォルダを作り、あらかじめ表データを作成しました。

python_excel.py import pandas as pd
import openpyxl

df = pd.read_csv(“test.csv”)
math = df.sort_values(“数学”,ascending=False)
math.to_excel(“csv_to_excel1.xlsx”)

解説

import pandas as pd表データーを読み込むpandasライブラリをimportします。省略してpdとします。
import openpyxlExcelファイルを扱えるようになる外部ライブラリをimportします。
df = pd.read_csv(“test.csv”)pdから.read_csv(“ファイル名”)という命令をして読み込みます。それを変数dfに代入します。
math = df.sort_values(“数学”,ascending=False)数学の点数が高い順に並べ替えます。
math.to_excel(“csv_to_excel1.xlsx”)Excelファイルに出力するためには、to_excel(“ファイル名”.xlsx)とします。

CSVファイルから読み取り、Excelファイルに数学の高い順に出力できました。


インデックスを削除して出力する。

先で出力でいましたが、インデックスはなくてもいいですね。ということでインデックスを削除して改めて出力してみよう。

python_excel.py import pandas as pd
import openpyxl

df = pd.read_csv(“test.csv”)
math = df.sort_values(“数学”,ascending=False)
math.to_excel(“csv_to_excel2.xlsx”, index=False, sheet_name=”数学並べ替え”)

解説

import pandas as pd表データーを読み込むpandasライブラリをimportします。省略してpdとします。
import openpyxlExcelファイルを扱えるようになる外部ライブラリをimportします。
df = pd.read_csv(“test.csv”)pdから.read_csv(“ファイル名”)という命令をして読み込みます。それを変数dfに代入します。
math = df.sort_values(“数学”,ascending=False)数学の点数が高い順に並べ替えます。
math.to_excel(“csv_to_excel2.xlsx”, index=False, sheet_name=”数学並べ替え”)新たにexcel2フィルを作る命令し、インデックスを削除する命令を追記します。sheet_name=”シート名”とすればsheet名を命名できます。

excel2ファイルがフォルダ内に作成されました。そしてインデックスを削除し、シート名が命名されている内容になりました。

複数のシートを1つのExcelファイルに出力する

最初に読み込んだ「元のデータ」と「数学点数の多い順で並べ替え」した2つのシートを1つのExcelファイルに出力するやり方を学びましょう。

python_excel.py import pandas as pd
import openpyxl

df = pd.read_csv(“test.csv”)
math = df.sort_values(“数学”,ascending=False)
with pd.ExcelWriter(“csv_to_excel3.xlsx”) as writer:
     df.to_excel(writer, index=False, sheet_name=”元データ”)
     math.to_excel(writer, index=False, sheet_name=”数学並べ替え”)

解説

import pandas as pd表データーを読み込むpandasライブラリをimportします。省略してpdとします。
import openpyxlExcelファイルを扱えるようになる外部ライブラリをimportします。
df = pd.read_csv(“test.csv”)pdから.read_csv(“ファイル名”)という命令をして読み込みます。それを変数dfに代入します。
math = df.sort_values(“数学”,ascending=False)数学の点数が高い順に並べ替えます。
with pd.ExcelWriter(“csv_to_excel3.xlsx”) as writer:書式:「with pd.ExcelWriter(“ファイル名.xlsx”) as writer:」
df.to_excel(writer, index=False, sheet_name=”元データ”)書式:「.to_excel(writer, sheet_name=”シート名1”」
 math.to_excel(writer, index=False, sheet_name=”数学並べ替え”)書式:「.to_excel(writer, sheet_name=”シート名2”」

新しいexcel3ファイルが作られ、2つのシートがexcel3ファイルに入りました。

エクセルファイルを読み込む

それでは、先ほど作ったエクセルファイルを読み込む方法を学びましょう。

import pandas as pd
import openpyxl

df = pd.read_excel(“csv_to_excel2.xlsx”)
print(df)

解説

import pandas as pd表データーを読み込むpandasライブラリをimportします。省略してpdとします。
import openpyxlExcelファイルを扱えるようになる外部ライブラリをimportします。
df = pd.read_excel(“csv_to_excel2.xlsx”)pdから.read_excel(“ファイル名.xlsx”)という命令をして読み込みます。それを変数dfに代入します。
print(df)代入したdfを表示させます。

複数シートがある場合は、sheet_nameで指定しよう。

先ほど使ったcsv_to_excel3ファイルの中にある「数学並べ替え」シートを出力させてみましょう。

import pandas as pd
import openpyxl
df = pd.read_excel(“csv_to_excel3.xlsx”, sheet_name=”数学並べ替え”)
print(df)

解説

import pandas as pd表データーを読み込むpandasライブラリをimportします。省略してpdとします。
import openpyxlExcelファイルを扱えるようになる外部ライブラリをimportします。
df = pd.read_excel(“csv_to_excel3.xlsx”, sheet_name=”数学並べ替え”)pdから.read_excel(“ファイル名.xlsx”, sheet_name=”シート名”)という命令をして読み込みます。それを変数dfに代入します。
print(df)代入したdfを表示させます。

指定したシートの内容が出力できました。

*尚、ここではバージョン「Python 3.10.1」を使用しています。

この本から引用、参考に学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが2,000円程ならコスパよく、買っておいてよかったと満足してます。


わからないことはプロフェッショナルから学ぶのが一番

キャリアアップに必要なスキルを取得しよう。

オンラインで受講ができるスクールですので、全国どこからでも。