Python でデータを Excel にエクスポートする
-
Python の
DataFrame.to_excel()
関数を使用してデータを Excel にエクスポートする -
Python の
xlwt
ライブラリを使用してデータを Excel にエクスポートする -
Python の
openpyxl
ライブラリを使用してデータを Excel にエクスポートする -
Python の
XlsWriter
ライブラリを使用してデータを Excel にエクスポートする
このチュートリアルでは、Python で表形式のデータを Excel ファイルに書き込むさまざまな方法を示します。
Python の DataFrame.to_excel()
関数を使用してデータを Excel にエクスポートする
Python で Excel シートに表形式のデータを書き込みたい場合は、Pandas DataFrame
の to_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
ファイル:
Python では、xlwt
ライブラリを使用して sample_data2.xls
ファイルにデータを書き込みました。
最初に、Workbook
クラスのオブジェクトを作成しました。このオブジェクトを使用して、Workbook
クラスの add_sheet()
メソッドでシートを作成しました。
次に、write()
関数を使用して、新しく作成したシートにデータを書き込みました。最後に、すべてのデータが指定されたインデックスに適切に書き込まれたら、Workbook
クラスの save()
関数を使用してブックを Excel ファイルに保存しました。
これは非常に簡単なアプローチですが、唯一の欠点は、ファイル内の各セルの行と列のインデックスを覚えておく必要があることです。A1
と A2
のインデックスだけを使用することはできません。このアプローチのもう 1つの欠点は、拡張子が .xls
のファイルしか書き込めないことです。
Python の openpyxl
ライブラリを使用してデータを Excel にエクスポートする
Excel 互換ファイルにデータを書き込むために使用できるもう 1つの方法は、Python の openpyxl
ライブラリです。
このアプローチは、以前の方法のすべての欠点に対処します。各データポイントの正確な行と列のインデックスを覚えておく必要はありません。write()
関数で A1
や A2
のようなセルを指定するだけです。
このアプローチのもう 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
ファイル:
上記のコードでは、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
ファイル:
上記のコードで、Python の xlswriter
ライブラリを使用して sample_data4.xlsx
Excel ファイルにデータを書き込みました。
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