藤本  結衣

藤本 結衣

1638237780

PythonでPandas.ExcelWriterメソッドを使用する

Pandas.ExcelWriter()は、DataFrameオブジェクトをExcelシートに書き込むためのクラスです。ExcelWriter()を使用して、テキスト、数値、文字列、数式を書き込むことができます。複数のワークシートでも機能します。PythonPandasはデータ分析ライブラリです。大小のデータセットを読み取り、フィルタリング、再配置し、Excelを含むさまざまな形式で出力できます。 ExcelWriterは、()の下で定義されているパンダのライブラリ。

この例では、Numpy andPandasライブラリをマシンにインストールしました。

構文

pandas.ExcelWriter(path, engine= None, date_format=None, datetime_format=None, mode=’w’,**engine_krawgs)

パラメーター

すべてのパラメータはデフォルト値に設定されています。

Pandas.ExcelWriter()関数には5つのパラメーターがあります。

 

  1. path:文字列型で、xlsまたはxlsxファイルへのパスを示します。
  2. エンジン:これも文字列型であり、完全にオプションです。書き込みに使用するエンジンです。
  3. date_format:これも文字列型であり、デフォルト値はNoneです。Excelファイルに書き込まれる日付の文字列をフォーマットします。
  4. datetime_format:これも文字列型であり、デフォルト値はNoneです。Excelファイルに書き込まれる日時オブジェクトの文字列をフォーマットします。
  5. モード:書き込みまたは追加するために使用するファイルのモードです。デフォルト値は書き込みです。これは「w」です。

戻り値

データをExcelファイルにエクスポートします。

Pandas ExcelWriter()のサンプルプログラム

xlsxwriterモジュールをインストールしてインポートする必要があります。Jupyterノートブックを実行している場合は、それは必要ありません。それ以外の場合は、インストールする必要があります。あなたは見つけることができますインストールここでガイドを。

 

PythonでのExcelWriter()の動作を示すプログラムを作成します。

import pandas as pd
import numpy as np
import xlsxwriter

# Creating dataset using dictionary
data_set = {
    'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

# Converting into dataframe
df = pd.DataFrame(data_set)

# Writing the data into the excel sheet
writer_obj = pd.ExcelWriter('Write.xlsx',
                            engine='xlsxwriter')

df.to_excel(writer_obj, sheet_name='Sheet')

writer_obj.save()
print('Please check out the Write.xlsx file.')

出力

Please check out the Write.xlsx file.

エクセルファイルの内容は以下の通りです。

パンダExcelWriter()

上記のコードでは、学生のデータを格納するDataFrameを作成しました。次に、DataFrameのデータをExcelシートに書き込むためのライターオブジェクトを作成し、シートにデータを書き込んだ後、シートを保存しました。上記のExcelシートの一部の値は、DataFrameではnp.nanであるため、空です。DataFrameのデータを確認するには、Excelシートを確認してください。

パンダDataFrameto_excel()

Pandas DataFrame to_excel()関数は、Excelシートにオブジェクトを書き込みます。上記の例ではto_excel()関数を使用しました。これは、ExcelWriter()メソッドがライターオブジェクトを返し、DataFrame.to_excel()メソッドを使用してExcelファイルにエクスポートするためです。

単一のオブジェクトをExcel.xlsxファイルに書き込むには、ターゲットファイル名を指定するだけで済みます。複数のシートに書き込むには 、対象のファイル名でExcelWriterオブジェクトを作成 し、ファイル内に書き込むシートを指定する必要があります。

一意のsheet_nameを指定することにより、複数のシートに書き込むことができます 。すべてのデータがファイルに書き込まれたら、変更を保存する必要があります。 すでに存在するファイル名でExcelWriterオブジェクトを作成すると、既存のファイルの内容が消去されることに注意してください 。

上記の例は、Pythonとステートメントを使用して作成することもできます。

import pandas as pd
import numpy as np
import xlsxwriter

# Creating dataset using dictionary
data_set = {
    'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

# Converting into dataframe
df = pd.DataFrame(data_set)

with pd.ExcelWriter('WriteWith.xlsx', engine='xlsxwriter') as writer:
    df.to_excel(writer, sheet_name='Sheet')

print('Please check out the WriteWith.xlsx file.')

出力

Please check out the WriteWith.xlsx file.

WriteWith.xlsxファイルをチェックアウトして、その内容を確認できます。Write.xlsxファイルと同じになります。

複数のDataFrameを複数のシートに書き込む。

上記の例では、1つのDataFrameに対して1つのシートしか見ていません。Pandas.ExcelWriterを使用して、複数のシートで複数のフレームを書き込むことができます。 

3つのDataFrameを作成し、それらのDataFrameを3つの異なるシートを含むmultiplesheet.xlsxファイルに保存する例を書いてみましょう。

import pandas as pd
import numpy as np
import xlsxwriter

# Creating dataset using dictionary
data_set = {
    'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

data_set2 = {
    'Name': ['Ankit', 'Krunal', 'Rushabh', 'Dhaval', 'Nehal'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

data_set3 = {
    'Name': ['Millie', 'Jane', 'Michael', 'Bobby', 'Brown'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

# Converting into dataframe
df = pd.DataFrame(data_set)
df2 = pd.DataFrame(data_set2)
df3 = pd.DataFrame(data_set3)

with pd.ExcelWriter('multiplesheet.xlsx', engine='xlsxwriter') as writer:
    df.to_excel(writer, sheet_name='Sheet')
    df2.to_excel(writer, sheet_name='Sheet2')
    df3.to_excel(writer, sheet_name='Sheet3')

print('Please check out the multiplesheet.xlsx file.')

出力

複数のDataFrameを複数のシートに書き込む

3つのシートがあり、各シートに異なる名前列があることがわかります。

to_excel()関数はsheet_nameをパラメーターとして受け入れます。ここで、3つの異なるシート名を渡すことができ、DataFrameがそれぞれのシートに保存されます。

結論

Pandas DataFrameをExcelファイルにエクスポートする場合は、ExcelWriter()クラスだけで十分です。ExcelWrite()クラスはライターオブジェクトを提供し、to_excel()関数を使用してDataFrameをExcelファイルにエクスポートできます。Pandas.ExcelWriterクラスは以上です。

リンク: https://appdividend.com/2020/05/25/how-to-use-pandas-excelwriter-method-in-python/

#pandas #python 

What is GEEK

Buddha Community

PythonでPandas.ExcelWriterメソッドを使用する
藤本  結衣

藤本 結衣

1638237780

PythonでPandas.ExcelWriterメソッドを使用する

Pandas.ExcelWriter()は、DataFrameオブジェクトをExcelシートに書き込むためのクラスです。ExcelWriter()を使用して、テキスト、数値、文字列、数式を書き込むことができます。複数のワークシートでも機能します。PythonPandasはデータ分析ライブラリです。大小のデータセットを読み取り、フィルタリング、再配置し、Excelを含むさまざまな形式で出力できます。 ExcelWriterは、()の下で定義されているパンダのライブラリ。

この例では、Numpy andPandasライブラリをマシンにインストールしました。

構文

pandas.ExcelWriter(path, engine= None, date_format=None, datetime_format=None, mode=’w’,**engine_krawgs)

パラメーター

すべてのパラメータはデフォルト値に設定されています。

Pandas.ExcelWriter()関数には5つのパラメーターがあります。

 

  1. path:文字列型で、xlsまたはxlsxファイルへのパスを示します。
  2. エンジン:これも文字列型であり、完全にオプションです。書き込みに使用するエンジンです。
  3. date_format:これも文字列型であり、デフォルト値はNoneです。Excelファイルに書き込まれる日付の文字列をフォーマットします。
  4. datetime_format:これも文字列型であり、デフォルト値はNoneです。Excelファイルに書き込まれる日時オブジェクトの文字列をフォーマットします。
  5. モード:書き込みまたは追加するために使用するファイルのモードです。デフォルト値は書き込みです。これは「w」です。

戻り値

データをExcelファイルにエクスポートします。

Pandas ExcelWriter()のサンプルプログラム

xlsxwriterモジュールをインストールしてインポートする必要があります。Jupyterノートブックを実行している場合は、それは必要ありません。それ以外の場合は、インストールする必要があります。あなたは見つけることができますインストールここでガイドを。

 

PythonでのExcelWriter()の動作を示すプログラムを作成します。

import pandas as pd
import numpy as np
import xlsxwriter

# Creating dataset using dictionary
data_set = {
    'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

# Converting into dataframe
df = pd.DataFrame(data_set)

# Writing the data into the excel sheet
writer_obj = pd.ExcelWriter('Write.xlsx',
                            engine='xlsxwriter')

df.to_excel(writer_obj, sheet_name='Sheet')

writer_obj.save()
print('Please check out the Write.xlsx file.')

出力

Please check out the Write.xlsx file.

エクセルファイルの内容は以下の通りです。

パンダExcelWriter()

上記のコードでは、学生のデータを格納するDataFrameを作成しました。次に、DataFrameのデータをExcelシートに書き込むためのライターオブジェクトを作成し、シートにデータを書き込んだ後、シートを保存しました。上記のExcelシートの一部の値は、DataFrameではnp.nanであるため、空です。DataFrameのデータを確認するには、Excelシートを確認してください。

パンダDataFrameto_excel()

Pandas DataFrame to_excel()関数は、Excelシートにオブジェクトを書き込みます。上記の例ではto_excel()関数を使用しました。これは、ExcelWriter()メソッドがライターオブジェクトを返し、DataFrame.to_excel()メソッドを使用してExcelファイルにエクスポートするためです。

単一のオブジェクトをExcel.xlsxファイルに書き込むには、ターゲットファイル名を指定するだけで済みます。複数のシートに書き込むには 、対象のファイル名でExcelWriterオブジェクトを作成 し、ファイル内に書き込むシートを指定する必要があります。

一意のsheet_nameを指定することにより、複数のシートに書き込むことができます 。すべてのデータがファイルに書き込まれたら、変更を保存する必要があります。 すでに存在するファイル名でExcelWriterオブジェクトを作成すると、既存のファイルの内容が消去されることに注意してください 。

上記の例は、Pythonとステートメントを使用して作成することもできます。

import pandas as pd
import numpy as np
import xlsxwriter

# Creating dataset using dictionary
data_set = {
    'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

# Converting into dataframe
df = pd.DataFrame(data_set)

with pd.ExcelWriter('WriteWith.xlsx', engine='xlsxwriter') as writer:
    df.to_excel(writer, sheet_name='Sheet')

print('Please check out the WriteWith.xlsx file.')

出力

Please check out the WriteWith.xlsx file.

WriteWith.xlsxファイルをチェックアウトして、その内容を確認できます。Write.xlsxファイルと同じになります。

複数のDataFrameを複数のシートに書き込む。

上記の例では、1つのDataFrameに対して1つのシートしか見ていません。Pandas.ExcelWriterを使用して、複数のシートで複数のフレームを書き込むことができます。 

3つのDataFrameを作成し、それらのDataFrameを3つの異なるシートを含むmultiplesheet.xlsxファイルに保存する例を書いてみましょう。

import pandas as pd
import numpy as np
import xlsxwriter

# Creating dataset using dictionary
data_set = {
    'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

data_set2 = {
    'Name': ['Ankit', 'Krunal', 'Rushabh', 'Dhaval', 'Nehal'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

data_set3 = {
    'Name': ['Millie', 'Jane', 'Michael', 'Bobby', 'Brown'],
    'Roll no': ['01', '02', '03', '04', np.nan],
    'maths': ['93', '63', np.nan, '94', '83'],
    'science': ['88', np.nan, '66', '94', np.nan],
    'english': ['93', '74', '84', '92', '87']}

# Converting into dataframe
df = pd.DataFrame(data_set)
df2 = pd.DataFrame(data_set2)
df3 = pd.DataFrame(data_set3)

with pd.ExcelWriter('multiplesheet.xlsx', engine='xlsxwriter') as writer:
    df.to_excel(writer, sheet_name='Sheet')
    df2.to_excel(writer, sheet_name='Sheet2')
    df3.to_excel(writer, sheet_name='Sheet3')

print('Please check out the multiplesheet.xlsx file.')

出力

複数のDataFrameを複数のシートに書き込む

3つのシートがあり、各シートに異なる名前列があることがわかります。

to_excel()関数はsheet_nameをパラメーターとして受け入れます。ここで、3つの異なるシート名を渡すことができ、DataFrameがそれぞれのシートに保存されます。

結論

Pandas DataFrameをExcelファイルにエクスポートする場合は、ExcelWriter()クラスだけで十分です。ExcelWrite()クラスはライターオブジェクトを提供し、to_excel()関数を使用してDataFrameをExcelファイルにエクスポートできます。Pandas.ExcelWriterクラスは以上です。

リンク: https://appdividend.com/2020/05/25/how-to-use-pandas-excelwriter-method-in-python/

#pandas #python