Python でデータを Excel にエクスポートする

Muhammad Maisam Abbas 2023年1月30日
  1. Python の DataFrame.to_excel() 関数を使用してデータを Excel にエクスポートする
  2. Python の xlwt ライブラリを使用してデータを Excel にエクスポートする
  3. Python の openpyxl ライブラリを使用してデータを Excel にエクスポートする
  4. Python の XlsWriter ライブラリを使用してデータを Excel にエクスポートする
Python でデータを Excel にエクスポートする

このチュートリアルでは、Python で表形式のデータを Excel ファイルに書き込むさまざまな方法を示します。

Python の DataFrame.to_excel() 関数を使用してデータを Excel にエクスポートする

Python で Excel シートに表形式のデータを書き込みたい場合は、Pandas DataFrameto_excel() 関数を使用できます。

PandasDataFrame は、表形式のデータを格納するデータ構造です。to_excel() 関数は、ファイル名とシート名の 2つの入力パラメーターを取ります。Pandas の DataFrame 内にデータを保存してから、to_excel() 関数を呼び出して、そのデータを Excel ファイルにエクスポートする必要があります。

このメソッドを機能させるには、Pandas ライブラリをシステムにインストールしておく必要があります。pandas ライブラリをインストールするコマンドを以下に示します。

pip install pandas

このアプローチの実用的なデモンストレーションを以下に示します。

import pandas as pd

list1 = [10, 20, 30, 40]
list2 = [40, 30, 20, 10]
col1 = "X"
col2 = "Y"
data = pd.DataFrame({col1: list1, col2: list2})
data.to_excel("sample_data.xlsx", sheet_name="sheet1", index=False)

sample_data.xlsx ファイル:

サンプルデータ

上記のコードでは、list1 および list2 内のデータを列として、Python の to_excel() 関数を使用して sample_data.xlsx Excel ファイルにエクスポートしました。

まず、両方のリスト内のデータを Pandas の DataFrame に保存しました。その後、to_excel() 関数を呼び出し、出力ファイルとシートの名前を渡しました。

この方法は、両方のリストの長さが等しい場合にのみ機能することに注意してください。長さが等しくない場合は、短いリストに None の値を入力することで、欠落している値を補うことができます。

これは、Python で Excel 互換ファイルにデータを書き込む最も簡単な方法です。

Python の xlwt ライブラリを使用してデータを Excel にエクスポートする

xlwt ライブラリは、Python の 95 から 2003 までの Excel バージョンと互換性のある古いスプレッドシートにデータを書き込むために使用されます。これは、Python で Excel ファイルにデータを書き込むための標準的な方法です。

また、これはかなり単純で、以前の方法よりも Excel ファイルをより細かく制御できます。xlwt.Workbook クラスのオブジェクトを作成し、.add_sheet() 関数を呼び出して、ワークブックに新しいシートを作成できます。

次に、write() メソッドを使用してデータを書き込むことができます。この write() 関数は、行インデックス(0 から開始)、列インデックス(これも 0 から開始)、および入力パラメーターとして書き込まれるデータを受け取ります。

このメソッドを機能させるには、マシンに xlwt ライブラリをインストールする必要があります。ライブラリをインストールするコマンドを以下に示します。

pip install xlwt

この方法の簡単な実例を以下に示します。

import xlwt
from xlwt import Workbook

wb = Workbook()

sheet1 = wb.add_sheet("Sheet 1")
# sheet1.write(row,col, data, style)
sheet1.write(1, 0, "1st Data")
sheet1.write(2, 0, "2nd Data")
sheet1.write(3, 0, "3rd Data")
sheet1.write(4, 0, "4th Data")

wb.save("sample_data2.xls")

sample_data2.xls ファイル:

サンプルデータ 2

Python では、xlwt ライブラリを使用して sample_data2.xls ファイルにデータを書き込みました。

最初に、Workbook クラスのオブジェクトを作成しました。このオブジェクトを使用して、Workbook クラスの add_sheet() メソッドでシートを作成しました。

次に、write() 関数を使用して、新しく作成したシートにデータを書き込みました。最後に、すべてのデータが指定されたインデックスに適切に書き込まれたら、Workbook クラスの save() 関数を使用してブックを Excel ファイルに保存しました。

これは非常に簡単なアプローチですが、唯一の欠点は、ファイル内の各セルの行と列のインデックスを覚えておく必要があることです。A1A2 のインデックスだけを使用することはできません。このアプローチのもう 1つの欠点は、拡張子が .xls のファイルしか書き込めないことです。

Python の openpyxl ライブラリを使用してデータを Excel にエクスポートする

Excel 互換ファイルにデータを書き込むために使用できるもう 1つの方法は、Python の openpyxl ライブラリです。

このアプローチは、以前の方法のすべての欠点に対処します。各データポイントの正確な行と列のインデックスを覚えておく必要はありません。write() 関数で A1A2 のようなセルを指定するだけです。

このアプローチのもう 1つの優れた利点は、新しい .xlsx ファイル拡張子を持つファイルを書き込むために使用できることです。これは、以前のアプローチには当てはまりませんでした。この方法は、前の方法と同じように機能します。

ここでの唯一の違いは、openpyxl ライブラリの cell(row,col) メソッドを使用して、シートに加えて各セルを初期化する必要があることです。

openpyxl も外部ライブラリです。このメソッドが正しく機能するには、このライブラリをインストールする必要があります。openpyxl ライブラリをマシンにインストールするコマンドは以下のとおりです。

pip install openpyxl

このアプローチの簡単な実演を以下に示します。

import openpyxl

my_wb = openpyxl.Workbook()
my_sheet = my_wb.active
c1 = my_sheet.cell(row=1, column=1)
c1.value = "Maisam"
c2 = my_sheet.cell(row=1, column=2)
c2.value = "Abbas"
c3 = my_sheet["A2"]
c3.value = "Excel"
# for B2: column = 2 & row = 2.
c4 = my_sheet["B2"]
c4.value = "file"
my_wb.save("sample_data3.xlsx")

sample_data3.xlsx ファイル:

サンプルデータ 3

上記のコードでは、Python の openpyxl ライブラリを使用して、sample_data3.xlsx Excel ファイルにデータを書き込みました。

最初に、Workbook クラスのオブジェクトを作成しました。このオブジェクトを使用して、Workbook.active でシートを作成しました。また、my_sheet.cell(row = 1, column = 1) を使用してセルオブジェクトを作成しました。

正確な行と列の番号を書き込む代わりに、A1 のようにセル名を指定することもできます。次に、新しく作成したセル値を c1.value = "Maisam"で割り当てることができます。

最後に、すべてのデータが指定されたインデックスに適切に書き込まれたら、Workbook クラスの save() 関数を使用してブックを Excel ファイルに保存しました。

Python の XlsWriter ライブラリを使用してデータを Excel にエクスポートする

Excel 互換ファイルにデータを書き込むもう 1つの優れた簡単な方法は、Python の XlsWriter ライブラリです。

このライブラリを使用すると、上記の以前の方法よりもはるかに多くの出力ファイルを制御できます。このライブラリは、xlsx などの最新の Excel 互換ファイル拡張子もサポートしています。

Excel ファイルにデータを書き込むには、最初に、コンストラクターのファイル名を入力パラメーターとして指定して、Workbook クラスのオブジェクトを作成する必要があります。次に、Workbook クラスの add_worksheet() 関数を使用してシートを作成する必要があります。

シートを追加した後、sheet.write(cell, data) 関数を使用してデータを書き込むことができます。この sheet.write() 関数は、セルの名前と書き込まれるデータの 2つのパラメーターを取ります。

すべてのデータをシートに書き込んだ後、Workbook クラス内の close() メソッドを使用してワークブックを閉じる必要があります。

XlsWriter は外部ライブラリであり、Python にはプリインストールされていません。このメソッドを機能させるには、最初に XlsWriter ライブラリをマシンにインストールする必要があります。XlsWriter ライブラリをインストールするコマンドを以下に示します。

pip install XlsxWriter

このアプローチの実用的なデモンストレーションを以下に示します。

import xlsxwriter

workbook = xlsxwriter.Workbook("sample_data4.xlsx")
sheet = workbook.add_worksheet()

sheet.write("A1", "Maisam")
sheet.write("A2", "Abbas")

workbook.close()

sample_data4.xlsx ファイル:

サンプルデータ 4

上記のコードで、Python の xlswriter ライブラリを使用して sample_data4.xlsx Excel ファイルにデータを書き込みました。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Python Excel