Python プログラミングの無限の可能性を解き放ちます: 「Wonderful Python」はコードの世界を歩き回ります
現代のオフィス環境では、データ処理とレポート作成は日常業務の非常に重要な部分です。柔軟で強力なプログラミング言語である Python は、一連のオープン ソース ライブラリを通じてオフィス オートメーションを実現できます。この記事では、Python を使用して Excel データの処理から PDF レポートの生成までの自動プロセスを実現する方法について詳しく説明します。対象となるライブラリにはopenpyxl
、pandas
、reportlab
などが含まれます。
サンプル プロジェクトを使用して、Excel からデータを読み取り、データを処理してデータ レポートを生成し、最終的に PDF 形式で出力する方法を示します。この自動化されたオフィスプロセスにより、効率が大幅に向上し、反復作業が削減されます。
1. 環境整備
開始する前に、関連する Python ライブラリがインストールされていることを確認してください。次のライブラリを使用します。
- openpyxl : Excel ファイルの処理に使用されます。
- pandas : データの分析と処理に使用されます。
- reportlab : PDF ファイルの生成に使用されます。
これらのライブラリは、次のコマンドを使用してインストールできます。
pip install openpyxl pandas reportlab
2. openpyxl
Excel ファイルの使用と処理
openpyxl
Excel ファイルの読み取りと書き込みに Python で一般的に使用されるライブラリです。まずはExcelファイルからデータを読み込み、簡単な処理を行う方法を紹介します。
2.1 Excelファイルの読み込み
従業員の勤怠データを含むExcel ファイルがあるとしますdata.xlsx
。テーブル構造は次のとおりです。
名前 | 部門 | 出席日数 | 欠勤日数 | 合計日数 |
---|---|---|---|---|
張三 | 人事部 | 20 | 2 | 22 |
ジョン・ドゥ | 財務部 | 18 | 4 | 22 |
ワン・ウー | 技術部 | 22 | 0 | 22 |
趙劉 | マーケティング部 | 19 | 3 | 22 |
まず、次をopenpyxl
使用して Excel でデータを読み取ります。
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('data.xlsx')
# 选择工作表
sheet = workbook.active
# 读取表格数据
data = []
for row in sheet.iter_rows(min_row=2, values_only=True):
data.append(row)
# 打印读取的数据
for row in data:
print(row)
上記のコードは、Excel から各行のデータを読み取り、data
リストに保存します。このメソッドはデータを 1 行ずつ読み取ることができます。ここではヘッダーをスキップするようにiter_rows
設定します。min_row=2
2.2 Excelデータの処理
読み取ったデータを部門ごとの総勤怠日数を計算するなどの加工が可能です。出席日数に基づいて統計を生成したいとします。
from collections import defaultdict
# 统计每个部门的总出勤天数
attendance_summary = defaultdict(int)
for row in data:
department = row[1]
attendance_days = row[2]
attendance_summary[department] += attendance_days
# 打印统计结果
for department, total_days in attendance_summary.items():
print(f"{
department}总出勤天数: {
total_days}")
このコード スニペットは、各部門の合計出席日数を出力します。
3.pandas
データ加工のための利用
openpyxl
Excel ファイルの読み取りと書き込みは可能ですが、複雑なデータ分析と処理には、pandas
ライブラリの方が強力です。データを結合しopenpyxl
てpandas
処理し、処理されたデータを Excel ファイルに保存できます。
3.1 pandas
Excelファイルの読み込みに使用します
pandas
Excel データの読み取り操作を簡素化するために使用できます。
import pandas as pd
# 使用pandas读取Excel文件
df = pd.read_excel('data.xlsx')
# 显示数据
print(df)
pandas
このメソッドは、read_excel
Excel ファイルを非常に便利に読み取り、データを保存できます。DataFrame
これは、DataFrame
さまざまなデータ処理や分析に適した非常に柔軟なデータ構造です。
3.2 データの分析と処理
を使用するとpandas
、データの統計分析を簡単に実行できます。たとえば、各部門の平均出席率を計算します。
# 添加出勤率列
df['出勤率'] = df['出勤天数'] / df['总天数