【Python】Pandasでexcelファイルへ書き込む方法を紹介!

こんにちは!

皆さんは、Pandasでexcelファイルへデータを書き込みたいと思ったことはありませんか?

Python初心者
excelファイルに保存できたら便利だよね!

Pandasでexcelファイルの読み込みを行うには、「xlwtライブラリ」「openpyxlライブラリ」をインストールして、「to_excel()」を使うと簡単にできますよ。

今回の記事では、以下の内容について紹介します。

  • xlwt, openpyxlライブラリについて
  • Pandasでexcelファイルを読み込む方法

xlwt, openpyxlライブラリ

wlrdライブラリとは

xlrdライブラリは、excelのデータをPythonで読むために作成されたライブラリです。

openpyxlライブラリとは

openpyxlライブラリは、excelをPythonで操作するために作成されたライブラリです。

今回は、wlrd、openpyxlどちらもPandasのto_excelの内部で使用されているため、インストールの必要があります。

インストール方法

pipでインストールする場合は以下になります。

pip install xlwt
pip install openpyxl

anacondaを使ってインストールする場合は以下になります。

conda install -c anaconda xlwt
conda install -c anaconda openpyxl

Pandasでexcelファイルへ書き込む

Pandasでexcelファイルへ書き込むには、「to_excel()」を使います。

内部で、xlwt, openpyxlライブラリを使用しているため、インストールしていない方はインストールしてください。

今回は、以下のexcelファイルを読み込んで、その読み込んだデータを新しいexcelファイルに書き込みます。

sheet1
sheet2

excelファイルへの基本的な書き込み方法

excelファイルのパスを指定します。

カレントディレクトリに作成する場合には、そのままexcelファイルの名前を指定しましょう。

指定したファイル名のexcelファイルが存在する場合には上書き、存在しない場合には新規作成します。

import pandas as pd

df = pd.read_excel('data/sample.xlsx')

df.to_excel('data/test.xlsx')

このような形でデータが保存されます。

header、indexを書き込まないようにする

header, indexを保存する必要がない場合は、取り除いて保存することができます。

df.to_excel('data/test.xlsx', index=False, header=False)

このような形でデータが保存されます。

header, indexが保存されていないことがわかりますね。

複数のDataFrameをexcelファイルに書き込む

「ExcelWriter()」を使うと、複数のDataFrameを書き込むことができます。

with文を使うことで、writer.save(), writer.close()をする必要がありません。

import pandas as pd

df1 = pd.read_excel('data/sample.xlsx', sheet_name=0)
df2 = pd.read_excel('data/sample.xlsx', sheet_name=1)

with pd.ExcelWriter('data/test.xlsx') as writer:
    df1.to_excel(writer, sheet_name='sheet1')
    df2.to_excel(writer, sheet_name='sheet2')

このような形でデータが保存されます。

sheet1
sheet2

まとめ

今回の記事では、以下の内容について紹介しました。

  • xlwt, openpyxlライブラリについて
    →excelファイルへ書き込んだり、excelファイルを扱ったりするための
    ライブラリ
  • Pandasでexcelファイルを読み込む方法
    →「to_excel()」を使用
Python初心者
使ったデータをexcelファイルに保存して残しておこう!

excelファイルへ書き込む方法を覚えて、データ解析などに役立てましょう!