今日のPython
今日から実務的な内容の課題。PythonでExcelを扱う。
Excelは本業の方で日常的に使っているツールだ。簡単なものだが、マクロも組めるので、前任者が2時間かけていた作業を15分に縮めるとか、生産効率はかなり上げてきたと自負しているくらいには触っている。(ただただラクしたいから、というのが本音のところだけど)
基礎もそこそこに、実務的な課題に入る、というのも結構斬新なカリキュラムだけど、これくらいの方が飽きなくて良いかも知れない。実際、アウトプットにこれだけワクワクできるというのはモチベーションが上がる。
さて、自分のメインマシンはMacBookなのだけど、これにはExcelが入っていない。Excelのファイルを開くときは通常、Mac標準(?)のNumbersが立ち上がるようになっている。それでこのPythonの講義で果たして通用するのだろうか。
結果的には大丈夫でした。閲覧の時にNumbersが立ち上がるような感じで、ファイルの扱いはExcelになっているので、問題なし。プログラムを組んでアプリみたいな形にして外部に持ち出せるようにすれば汎用的に使える感じかな。ともかく安心。
Excelを扱うライブラリにはpandasもあるが、Excelの様々な装飾だったり、設定が上手く取り出せない、とのことで「openpyxl(オープンパイエクセル)を使う。
pip install openpyxl #openpyxlをインストール
import openpyxl #openpyxlを装備
wb = openpyxl.load_workbook("エクセルファイル名.xlsx") #ワークブックを読み込む
ws = wb["シート名"] #そのワークブックの中のsheetを指定
ws.cell(row = 2, column = 2).value #→2行2列目(B2)の値が取り出せる
ws.cell(row = 5, column = 5).value = 1000 #空いているセルに任意に打ち込んでみる
wb.save("test.xlsx") #保存。そのファイルを開くと、さっきの入力が入っている。
openpyxlの「保存」は、一旦ジュピターの中にコピーを作って(load_workbook)
そこで作業しているので、そのような結果は保存してから改めて開くことで確認できる。
この記事が気に入ったらサポートをしてみませんか?