非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

PythonでExcelファイルの読み書きをする方法(openpyxl)

   

openpyxlというライブラリを使えば簡単にExcelファイルの読み書きができます。

今回こんなExcelファイルを用意しました。このファイルを読んでみたいと思います。

※下図はExcelファイルをLibreOfficeで開いたものです。ファイル名は「名簿.xlsx」。

[ad#top-1]

まずはopenpyxlをインストール

pipコマンドで一発でインストール可能です。

$ pip install openpyxl

 

Excelファイルの読み込み

以下のソースコードでExcelファイルの読み込みが可能です。

import openpyxl as excel

fname = "名簿.xlsx"
book = excel.load_workbook(fname)
sheet = book.worksheets[0]

datalist=[]
for row in sheet.rows:
  datalist.append([row[0].value, row[1].value, row[2].value])

for data in datalist:
  if(data[0]==""): break
  print(data[0], data[1], data[2])
 

 

結果はご覧の通りです。コンソール上でExcelファイルの中身が参照できました。

 

Excelファイルの書き込み

次に書き込みの方法です。

import openpyxl as excel

fname = "名簿.xlsx"
book = excel.load_workbook(fname)
sheet = book.worksheets[0]

sheet["A12"]=11
sheet["B12"]="池田太郎"
sheet["C12"]=88

book.save(fname)
print("完了")
 

 

このプログラムを実行すると以下の通り。最後のprint文の「完了」が現れました。

 

本当に書き込まれたか確認のためファイルを見たところ、下図の通りちゃんとデータが追加されていました。

 

データ数は少ないのでなんとも言えませんが、とりあえず速度的には全然問題なく、思った以上に速かったです。もっと大きなデータでやってみたいですね。郵便番号データあたりで検索速度を測ってみようかな。実施したらレポートします。

[ad#ad-1]

スポンサーリンク

 - Python