今回の講座の導入文
みんな、Excelって使ったことあるやろ?表計算ソフトの王様やけど、Pythonを使うことで、もっと便利に扱えるんやで!例えば、毎月の売上データを手動で入力するのって、めっちゃ面倒やん?でも、PythonとOpenpyxlを使うことで、数秒で自動化できるんや!
この講座では、ExcelファイルをPythonでどう操作するかを学ぶんやけど、ほんまに簡単やし、覚えておけばめっちゃ役立つで!さあ、一緒に楽しく学んでいこう!
① ワークブックとシートの操作
まずは、ワークブックとシートについて理解していこう!Excelでは、ワークブックがファイル全体で、シートがその中のページみたいなもんや。PythonのOpenpyxlを使うと、これらを簡単に操作できるんやで。
ワークブックの作成
新しいワークブックを作成するには、まずOpenpyxlをインポートして、ワークブックを作成するだけや。これで新しいExcelファイルができるで!
from openpyxl import Workbook
# 新しいワークブックを作成
wb = Workbook()
シートの追加と選択
次に、シートを追加したり、選択したりする方法や。デフォルトでは1つのシートができてるけど、必要に応じて新しいシートを追加することもできるんやで。
# 新しいシートを追加
ws1 = wb.create_sheet(title="シート1")
ws2 = wb.create_sheet(title="シート2")
# デフォルトのシートを選択
default_sheet = wb.active
シート名の変更
シートの名前を変更したいときは、以下のようにすればOKや!
# シート名を変更
default_sheet.title = "デフォルトシート"
ワークブックの保存
最後に、作成したワークブックを保存するのも忘れんように!ファイル名を指定して保存するだけやで。
# ワークブックを保存
wb.save("sample.xlsx")
これで、ワークブックとシートの基本的な操作はマスターや!次のステップに進む準備ができたかな?
② セルの読み書き
次は、Excelのセルを読み書きする方法についてや!セルはデータを入力する場所やから、これをうまく使いこなすことが大事やで。
セルへのデータの書き込み
まずは、セルにデータを書き込む方法を見ていこう。特定のセルに値を設定するのは簡単なんや!以下のように書けばええで。
# シートの特定のセルにデータを書き込む
default_sheet['A1'] = "こんにちは"
default_sheet['B1'] = 100
default_sheet['C1'] = 3.14
セルからのデータの読み込み
次は、セルからデータを読み込む方法や。書き込んだデータを取得するのも簡単やで!以下のようにするだけや。
# セルからデータを読み込む
greeting = default_sheet['A1'].value
number = default_sheet['B1'].value
pi_value = default_sheet['C1'].value
print(greeting) # こんにちは
print(number) # 100
print(pi_value) # 3.14
複数のセルを一気に操作する
セルの範囲を指定して、一気にデータを書き込むこともできるで。例えば、A2からA5までのセルに連続した数値を入力する方法や。
# A2からA5に連続した数値を書き込む
for i in range(2, 6):
default_sheet[f'A{i}'] = i
セルのデータ型
注意点として、Excelではデータ型が色々あるから、文字列や数値、日付など、適切な形式でデータを扱うことが大切なんやで。
これで、セルの読み書きができるようになったな!次は、セルのスタイル設定について学んでいこうか!
③ セルのスタイル設定
次は、セルのスタイルを自由に設定する方法についてやで!セルの見た目を変えることで、データを見やすくしたり、強調したりできるんや。さっそくやってみよう!
フォントの設定
まずはフォントの設定から。フォントのスタイルやサイズ、色を変更することができるで!以下のコードを見てみてな。
from openpyxl.styles import Font
# フォントを設定
font_style = Font(name='Arial', size=14, bold=True, color='FF0000')
default_sheet['A1'].font = font_style
背景色の設定
次は、背景色を変更する方法や。セルの背景色を変えることで、視覚的に目立たせることができるんやで。
from openpyxl.styles import PatternFill
# 背景色を設定
fill_style = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')
default_sheet['B1'].fill = fill_style
セルの境界線を設定
セルの境界線を設定することもできるで。これを使うことで、表をより整った形にすることができるんや!
from openpyxl.styles import Border, Side
# 境界線を設定
thin_border = Border(left=Side(style='thin'),
right=Side(style='thin'),
top=Side(style='thin'),
bottom=Side(style='thin'))
default_sheet['C1'].border = thin_border
セルの配置
最後に、セルの配置を設定することもできるで。テキストの位置を中央に揃えたり、左右に寄せたりできるんや!
from openpyxl.styles import Alignment
# セルの配置を設定
alignment = Alignment(horizontal='center', vertical='center')
default_sheet['A1'].alignment = alignment
これで、セルのスタイル設定ができるようになったな!データを見やすくするために、ぜひ活用してみてな。次は、数式の扱い方について学んでいこう!
④ 数式の扱い方
次は、Excelで数式を使う方法についてやで!PythonのOpenpyxlを使うと、セルに数式を入力して計算結果を表示させることができるんや。さっそく見ていこう!
セルに数式を入力
まずは、セルに数式を入力してみよう。Excelでは、数式の先頭に「=」を付けるんや。例えば、A1とB1の合計をC1に表示させる場合、以下のように書くで。
# セルに数式を入力
default_sheet['A1'] = 10
default_sheet['B1'] = 20
default_sheet['C1'] = "=A1+B1"
数式の計算結果の取得
セルに数式を入力すると、Excelが自動で計算してくれるんやけど、Python側からその結果を取得することもできるで。計算結果を取得するには、以下のようにするんや。
# 計算結果を取得
result = default_sheet['C1'].value
print(result) # 30 になるはずやで
他の数式も試してみよう
もちろん、足し算だけじゃなくて、他の数式も使えるで!例えば、A1とB1の積をD1に表示させる場合、以下のように書くことができるんや。
# 他の数式も試す
default_sheet['D1'] = "=A1*B1"
数式の更新
もしセルの値を変更したら、数式の計算結果も自動で更新されるんや。例えば、A1の値を変更してみるで。
# A1の値を変更
default_sheet['A1'] = 15
# 計算結果を再取得
updated_result = default_sheet['C1'].value
print(updated_result) # 35 になるはずやで
これで、数式の扱い方がわかったな!Excelの計算機能を使いこなすことで、データ分析がもっと楽になるで!次は、チャートの作成と編集について学んでいこうか!
⑤ チャートの作成と編集
次は、Excelでチャートを作成したり編集したりする方法についてやで!データを視覚化することで、情報を分かりやすく伝えることができるから、ぜひ活用してみてな。
チャートを作成する準備
まずは、チャートを作成するために必要なデータを用意しよう。ここでは、いくつかのデータを用意するで。
# データを準備
default_sheet['A1'] = "月"
default_sheet['B1'] = "売上"
default_sheet['A2'] = "1月"
default_sheet['A3'] = "2月"
default_sheet['A4'] = "3月"
default_sheet['B2'] = 300
default_sheet['B3'] = 500
default_sheet['B4'] = 400
チャートの作成
次に、チャートを作成するためのライブラリをインポートして、データからチャートを作成するで。以下のコードを見てみてな。
from openpyxl.chart import BarChart, Reference
# データ範囲を指定
data = Reference(default_sheet, min_col=2, min_row=1, max_col=2, max_row=4)
categories = Reference(default_sheet, min_col=1, min_row=2, max_row=4)
# バーチャートを作成
chart = BarChart()
chart.add_data(data, titles_from_data=True)
chart.set_categories(categories)
chart.title = "月別売上"
chart.x_axis.title = "月"
chart.y_axis.title = "売上"
# チャートをシートに追加
default_sheet.add_chart(chart, "D5")
チャートの編集
作成したチャートは、後からでも編集が可能や。例えば、チャートのタイトルを変更したり、データの範囲を変更したりできるで。
# チャートのタイトルを変更
chart.title = "更新された月別売上"
チャートのスタイルを変更
チャートの外観も変更できるんや。例えば、チャートのスタイルを変更することができるで!
# チャートのスタイルを変更
chart.style = 10 # スタイル番号は適宜変更してな
これで、Excelでのチャートの作成と編集ができるようになったな!データを視覚化することで、よりわかりやすく伝えることができるで。これからのデータ分析に役立ててな!これでOpenpyxlの基本的な使い方は終わりやで!他にも色々な機能があるから、ぜひ探求してみてな。
【Excelファイル操作の達人】Openpyxlを使ったセルスタイル設定と数式・チャート作成の具体例!