【Python x Excel】 めんどくさいExcel作業を自動化しよう!基本操作編

2018年4月4日

f:id:kichie_com:20180404162258j:plain
こんにちは、きちえです。

実行環境

Python 3.6.3
Mac OS 10.13.3
pipインストール済

使用するモジュール

openpyxl

テストデータ

これからxlsxデータを扱うので以下のデータを元に説明していきます。
データダウンロード:
https://drive.google.com/open?id=130Otxp9lVs5hwUqw6JrNRET107Bf7cBA
データ内容:
f:id:kichie_com:20180404144348p:plain

モジュールのインストール

ターミナルで以下のコードを入力して下さい

pip install openpyxl

使い方

では実際に使っていきましょう。

モジュールを使えるようにインポート

openpyxlモジュールをpxという名前で使用できるようにインポートします。

import openpyxl as px

xlsxファイルの読み込み

main.pyと同じ階層のdataフォルダの中にあるエクセルファイルを読み込みます。

import openpyxl as px
wb = px.load_workbook("data/data.xlsx")

ファイル構造は以下の様です。
|
|- main.py
|_ data – data.xlsx

xlsxファイルのシートネームを読み込む

import openpyxl as px
wb = px.load_workbook("data/data.xlsx")
#1番最初のシートを読み込む
sheetName = wb.sheetnames[0]
print("■読み込みシート名: "+sheetName)
# 出力結果->■読み込みシート名: Sheet1

xlsxファイルのシートネームをもとにシートを読み込む

import openpyxl as px
wb = px.load_workbook("data/data.xlsx")
#1番最初のシートを読み込む
sheetName = wb.sheetnames[0]
print("■読み込みシート名: "+sheetName)
sheet = wb[sheetName]

xlsxではこのシートを元にセルから値を持ってきたり書き込んだりします。

セルの値を読み込む

以下の画像のB1のセルの「パイソン商店」という文字列を取りたいと思います。
f:id:kichie_com:20180404144348p:plain

import openpyxl as px
wb = px.load_workbook("data/data.xlsx")
#1番最初のシートを読み込む
sheetName = wb.sheetnames[0]
print("■読み込みシート名: "+sheetName)
sheet = wb[sheetName]
cell = sheet["B1"].value
print("■店舗名: " + cell)
# 出力結果 -> ■店舗名: パイソン商店

この様にセルを読み込むことによって、値を集計したり、配置し直すことができます。

では読み込めたので、次に値を変更して保存していきましょう。

セルの値を書き込む

import openpyxl as px
wb = px.load_workbook("data/data.xlsx")
#1番最初のシートを読み込む
sheetName = wb.sheetnames[0]
print("■読み込みシート名: "+sheetName)
sheet = wb[sheetName]
#値を書き換えて
sheet["B1"].value = "パイソン薬局"
#データを保存
wb.save("data/data.xlsx")

そうするとこの様に書き変わります。
f:id:kichie_com:20180404145634p:plain

ここまでで基本操作ができる様になりました!

今回はここまでです!
次回は実際に多くのデータを書き換えてプログラムのすごさを実感しましょう!

次:【Python x Excel】 めんどくさいExcel作業を自動化しよう!複数データを変更編




Excel, Python

Posted by kichie