こんにちは!
皆さんは、Pandasで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ファイルに書き込みます。
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')
このような形でデータが保存されます。
まとめ
今回の記事では、以下の内容について紹介しました。
- xlwt, openpyxlライブラリについて
→excelファイルへ書き込んだり、excelファイルを扱ったりするための
ライブラリ - Pandasでexcelファイルを読み込む方法
→「to_excel()」を使用
excelファイルへ書き込む方法を覚えて、データ解析などに役立てましょう!