3. 複数のExcelファイルをマージするスクリプト
複数のExcelファイルを1つのファイルにまとめる作業は、手作業では時間がかかります。このスクリプトを使えば簡単に自動化できます。
実例:複数ファイルのデータを1つのシートに統合
from openpyxl import load_workbook, Workbook
# 新しいExcelファイルを作成
combined_workbook = Workbook()
combined_sheet = combined_workbook.active
combined_sheet.title = "Combined Data"
# ファイルリスト
files = ['data1.xlsx', 'data2.xlsx', 'data3.xlsx']
# データを統合
for file in files:
workbook = load_workbook(file)
sheet = workbook.active
for row in sheet.iter_rows(min_row=2, max_row=sheet.max_row, values_only=True):
combined_sheet.append(row)
# 保存
combined_workbook.save('combined_data.xlsx')
print("データを統合しました")
ポイント
- 複数ファイルのデータを1つのシートにまとめることで、分析が容易になります。
- **
values_only=True**を使用することで、セルオブジェクトではなく値のみを取得します。
4. 自動でレポートを作成するスクリプト
営業チーム向けに、月次売上レポートを自動生成する例です。
実例:月次売上レポートを作成
from openpyxl import Workbook
from openpyxl.styles import Font
from openpyxl.chart import BarChart, Reference
# データ
sales_data = [
["Month", "Sales"],
["January", 1000],
["February", 1500],
["March", 2000],
["April", 1800]
]
# 新しいExcelファイルを作成
workbook = Workbook()
sheet = workbook.active
sheet.title = "Monthly Sales Report"
# データを書き込む
for row in sales_data:
sheet.append(row)
# 見出しを太字に設定
header_font = Font(bold=True)
for cell in sheet[1]:
cell.font = header_font
# 棒グラフを作成
chart = BarChart()
data_ref = Reference(sheet, min_col=2, min_row=1, max_row=5)
categories_ref = Reference(sheet, min_col=1, min_row=2, max_row=5)
chart.add_data(data_ref, titles_from_data=True)
chart.set_categories(categories_ref)
chart.title = "Monthly Sales"
chart.x_axis.title = "Month"
chart.y_axis.title = "Sales"
# シートにグラフを追加
sheet.add_chart(chart, "D2")
# 保存
workbook.save('monthly_sales_report.xlsx')
print("月次売上レポートを作成しました")
ポイント
- **
Font**を使ってセルのフォーマットを設定できます。 - グラフ作成に**
BarChart**を使用して視覚的なレポートを生成します。
5. 複数のシートを持つExcelファイルを作成するスクリプト
複数のシートに分けてデータを保存することで、整理されたExcelファイルを作成できます。
実例:月ごとの売上データをシートごとに保存
from openpyxl import Workbook
# 月ごとのデータ
monthly_data = {
"January": [100, 200, 300],
"February": [150, 250, 350],
"March": [200, 300, 400]
}
# 新しいExcelファイルを作成
workbook = Workbook()
for month, sales in monthly_data.items():
sheet = workbook.create_sheet(title=month)
for i, value in enumerate(sales, start=1):
sheet[f"A{i}"] = value
# デフォルトシートを削除
del workbook["Sheet"]
# 保存
workbook.save("monthly_sales.xlsx")
print("月ごとのデータを保存したファイルを作成しました")
まとめ
この記事では、OpenPyXLを使った以下の実用的なスクリプト例を紹介しました:
- データの一括修正
- 条件付き行の削除
- 複数ファイルの統合
- 自動レポート生成
- 複数シートの作成
これらのスクリプトを活用すれば、日常業務や分析作業を大幅に効率化できます。ぜひ、自分のデータに応用してみてください!
OpenPyXLのようなライブラリは、サンプルを写すところから自分の業務に合わせて書き換えられるようになるまでに少し距離があります。その距離を埋める課題と、詰まったときに聞ける環境をAIプログラミングスクールSiiDでは用意しています。
AIプログラミングスクール「SiiD」について
AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。
SiiDの特徴
- 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
- 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
- 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
- Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
- 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
- 学割あり(35%オフ)
こんな方におすすめ
- 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
- 独学に限界を感じている方
- 費用を抑えながら実務スキルと転職サポートを両立したい方
「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。