こんにちは、読者の皆さん。今日は、ExcelとPythonを連携させる方法について一緒に学んでいきましょう。システムエンジニアとして、Excelは日々の業務で欠かせないツールです。データの整理や計算、報告書の作成など、多岐にわたる場面で活躍していますよね。しかし、Excelだけでは時間がかかる作業や手作業によるミスが起こりやすいこともあります。そんな時にPythonを使って、自動化やデータ分析をもっと効率的に行える方法があれば便利ですよね。
そこで今回は、ExcelのデータをPythonで読み込み、処理を行い、結果を再度Excelに出力するという流れを、具体的なコードを使って紹介します。難しそうに感じるかもしれませんが、一つ一つ理解しながら進めていけば、きっとあなたもExcelとPythonを組み合わせた強力な自動化スクリプトが書けるようになりますよ。
PythonとExcelの連携
まず、PythonとExcelを連携させるために必要なライブラリは、openpyxlやpandasです。この二つのライブラリを使えば、Excelファイルの読み込みや書き込み、データの操作を簡単に行えます。
では早速、サンプルコードを使って説明していきます。
ExcelファイルをPythonで読み込む
まずは、Pythonを使ってExcelファイルを読み込み、そのデータを表示してみましょう。以下のコードでは、pandasライブラリを使ってExcelファイルを読み込みます。
import pandas as pd # Excelファイルの読み込み file_path = "sample_data.xlsx" df = pd.read_excel(file_path) # データの表示 print(df)
このコードでは、pandas.read_excel()
関数を使って、ExcelファイルをDataFrame形式で読み込んでいます。読み込んだデータはdf
という変数に格納され、print()
でその内容を表示しています。
例えば、以下のようなExcelデータがあるとしましょう。
日付 | 商品名 | 売上 |
---|---|---|
2024-01-01 | 商品A | 1000 |
2024-01-02 | 商品B | 1500 |
2024-01-03 | 商品C | 2000 |
このデータを読み込むと、ターミナルには以下のような結果が表示されます。
日付 商品名 売上 0 2024-01-01 商品A 1000 1 2024-01-02 商品B 1500 2 2024-01-03 商品C 2000
データの処理
次に、このデータを使って簡単な処理を行いましょう。今回は、売上の合計を計算してみます。
# 売上の合計を計算 total_sales = df['売上'].sum() print(f"売上の合計: {total_sales}円")
ここでは、df['売上']
で売上列のデータを取り出し、sum()
関数を使ってその合計を計算しています。例えば、このサンプルデータの場合、売上の合計は4500円となります。
売上の合計: 4500円
このように、ExcelのデータをPythonで簡単に処理できるのです。
処理結果をExcelに書き込む
次に、処理した結果をExcelファイルに書き込む方法を紹介します。ここでは、売上の合計を新しいExcelシートに書き込んでみましょう。
# 新しいExcelファイルに書き込む output_file_path = "output_data.xlsx" with pd.ExcelWriter(output_file_path, engine='openpyxl') as writer: df.to_excel(writer, sheet_name='元データ', index=False) summary_df = pd.DataFrame({'合計売上': [total_sales]}) summary_df.to_excel(writer, sheet_name='売上サマリー', index=False)
このコードでは、pd.ExcelWriter()
を使って新しいExcelファイルを作成し、元データと売上の合計を別々のシートに書き込んでいます。df.to_excel()
で元データを「元データ」シートに、summary_df.to_excel()
で売上の合計を「売上サマリー」シートに書き込んでいます。
結果として、以下のようなExcelファイルが生成されます。
元データシート
日付 | 商品名 | 売上 |
---|---|---|
2024-01-01 | 商品A | 1000 |
2024-01-02 | 商品B | 1500 |
2024-01-03 | 商品C | 2000 |
売上サマリーシート
合計売上 |
---|
4500 |
このように、Pythonを使ってExcelファイルを操作することで、データの自動化や集計作業を効率的に行えるようになります。
おわりに
いかがでしたでしょうか?今回は、Pythonを使ってExcelファイルを読み込み、データを処理し、結果を再度Excelに書き込むという一連の流れを紹介しました。最初は少し難しく感じるかもしれませんが、慣れてくると手作業では難しい処理も簡単に行えるようになります。
ExcelとPythonの連携は、特にデータ処理やレポート作成の効率化に大いに役立ちます。これを機に、ぜひ日常の業務でPythonを活用してみてください。