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]
スポンサーリンク