Pythonで業務を自動化!初心者でもできるExcel操作の完全ガイド

「日々のExcel作業をもっと効率化できたら…」と思ったことはありませんか?
Pythonを使えば、手間のかかる反復作業を簡単に自動化できます。

この記事では、初心者でも理解できるExcel操作の基礎から応用までを、具体例を交えて解説します。Pythonの力で業務効率を大幅に向上させましょう!

目次

準備: 必要なライブラリのインストール

PythonでExcelを操作するには、以下のライブラリが必要です:

以下のコマンドでインストールしてください:

pip install openpyxl pandas

2. 基本操作: Excelファイルを作成して編集

Excelファイルを作成する

まずは、PythonでExcelファイルを作成してみましょう。

from openpyxl import Workbook

# 新しいExcelファイルを作成
wb = Workbook()
ws = wb.active

# データを入力
ws['A1'] = "名前"
ws['B1'] = "年齢"
ws.append(["Alice", 30])
ws.append(["Bob", 25])

# ファイルを保存
wb.save("example.xlsx")
print("Excelファイルが作成されました!")

作成されるExcelの内容:

名前    年齢
Alice   30
Bob     25

3. Excelファイルを読み込む

Excelファイルを読み取る方法

既存のExcelファイルをPythonで読み取る方法を紹介します。

import pandas as pd

# Excelファイルを読み込む
df = pd.read_excel("example.xlsx")

# 内容を表示
print(df)

出力例:

      名前  年齢
0  Alice  30
1    Bob  25

4. 応用操作: データを加工して保存

Pythonを使ってExcelデータを加工し、新しいファイルに保存します。

# 年齢を1歳増やす
df['年齢'] = df['年齢'] + 1

# 加工後のデータを保存
df.to_excel("updated_example.xlsx", index=False)
print("データを加工し、新しいExcelファイルに保存しました!")

保存後の内容(updated_example.xlsx):

名前    年齢
Alice   31
Bob     26

5. 実践例: 複数のExcelファイルを統合

複数のExcelファイルを1つにまとめる例を紹介します

files = ["example1.xlsx", "example2.xlsx"]
all_data = pd.DataFrame()

for file in files:
    data = pd.read_excel(file)
    all_data = pd.concat([all_data, data])

# 統合データを保存
all_data.to_excel("merged.xlsx", index=False)
print("複数のExcelファイルを統合しました!")

6. 条件付き書式を適用する

条件付き書式を使って、特定の条件に合うセルを強調表示する方法です。

pythonコードをコピーするfrom openpyxl.styles import PatternFill
from openpyxl import load_workbook

# Excelファイルを読み込む
wb = load_workbook("example.xlsx")
ws = wb.active

# 条件付き書式を適用
red_fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
for row in ws.iter_rows(min_row=2, max_row=ws.max_row, min_col=2, max_col=2):
    for cell in row:
        if cell.value > 28:  # 条件: 年齢が28以上
            cell.fill = red_fill

# 保存
wb.save("formatted_example.xlsx")
print("条件付き書式を設定しました!")

Excelで強調される条件: 年齢が28以上のセルが赤くハイライトされます。


7. 自動メール送信: Excelデータを使う

自動メール送信の例

Excelのデータを基にメールを送信します。

import smtplib
from email.mime.text import MIMEText
import pandas as pd

# Excelファイルを読み込む
df = pd.read_excel("contacts.xlsx")

# SMTP設定
smtp_server = "smtp.example.com"
port = 587
sender_email = "your_email@example.com"
password = "your_password"

# メール送信
with smtplib.SMTP(smtp_server, port) as server:
    server.starttls()
    server.login(sender_email, password)

    for index, row in df.iterrows():
        recipient = row["Email"]
        message = MIMEText(f"こんにちは {row['Name']}さん、\nこれは自動送信されたメールです。")
        message["Subject"] = "自動通知"
        message["From"] = sender_email
        message["To"] = recipient

        server.sendmail(sender_email, recipient, message.as_string())
        print(f"{row['Name']} ({recipient}) にメールを送信しました。")

8. スクリプトの定期実行

Pythonスクリプトを毎日指定した時間に実行する方法を紹介します。

import schedule
import time

def automate_excel():
    # 自動化スクリプトをここに記述
    print("Excel自動化スクリプトを実行中...")

# 毎日9時にスクリプトを実行
schedule.every().day.at("09:00").do(automate_excel)

print("スケジューラーが実行中です。Ctrl+Cで終了します。")
while True:
    schedule.run_pending()
    time.sleep(1)

まとめ

Pythonを使ったExcel自動化は、日々の業務の生産性を大きく向上させます。本記事で紹介したスクリプトを試し、少しずつカスタマイズして自分の業務に役立ててください。

さらに詳しく知りたい方は以下の公式リソースをご覧ください:

まずは簡単なスクリプトから始めて、業務効率化の世界へ一歩踏み出しましょう!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次