Python pandas Excel 書き込む方法 書き込み

python

【Python】pandasでExcelファイルを書き込む方法

2020年5月11日

こんにちは。

 

産婦人科医で人工知能の研究をしているTommy(Twitter:@obgyntommy)です。

 

本記事ではPythonのライブラリの1つである pandas の計算処理について学習していきます。

 

pandasの使い方については、以下の記事にまとめていますので参照してください。

関連記事
Python pandas 使い方
【Python】Pandasの使い方【基本から応用まで全て解説】

続きを見る

 

また、pandasで Excelファイルを読み込む方法については以下の記事を参考にしてください。

関連記事
Python pandas Excel 読み込む方法 読み込み
【Python】pandasでExcelファイルを読み込む方法

続きを見る

 

データ解析をする際にはCSV、データベースなどのデータを扱いますが、Excelもその一つです。

 

pandasでExcelデータを取り扱えうようになれれば、普段、エクセルでデータを扱っている多くのユーザーとデータを共有できるようになります。

 

本記事では pandas を利用して Excel  の書き込み方を習得してを使いこなせるようになりましょう。

 

なお、pandas.DataFrame.to_excel に関する公式ドキュメントは以下になります。

 

pandas.DataFrame.to_excel — pandas 1.0.3 documentation
pandas.DataFrame.to_excel — pandas 1.0.3 documentation

続きを見る

 

ここで本記事の学習到達目標です。

 

 本記事の学習目標

  • pandasで1つの Excelシートに書き込む方法
  • pandasで複数の Excelシートに書き込む方法
  • pandasでのindexの使用方法
  •  Excelのheaderの変更方法
  •  Excelの列を指定して書き込む方法

 

今回は、これらのテーマに沿って Excelを読み込む方法についてしっかり学習していきましょう。

※ データの準備とpandasの実行の箇所については、pandasで Excelを読み込む方法の内容と一部被っていますが復習として掲載しています。

 

データの準備とpandasの実行

Python pandas Excel 書き込む方法 書き込み

pandasのインストール方法

pandasでエクセルを取り扱うときには、xlrd をインストールしておきましょう。

 

In[]

 

pandasをインポートする

まず、pandas を読み込みます。

 

下記を実行してください。

 

In[]

 

本記事で扱う対象データ

データは適当に用意した下記のデータを使います。

 

Sheet1, 2, 3, 4 にデータが入っているExcelファイルです。

 

実行して、パスを設定しておきましょう。

In[]

 

Sheet1

1列目に列名があるデータです。

Python pandas Excel 読み込む方法 読み込み

Sheet2

Sheet1に3行ほど、他のデータが混じっていて、4行目からデータが始まっている場合です。

 

Python pandas Excel 読み込む方法 読み込み

Sheet3

以下の表がSheet1の列名がない場合です。

Python pandas Excel 読み込む方法 読み込み

Sheet4

Sheet1に index(行名)をつけたもの

 

行名は 1, 2, 3, 4, 5 としています。

 

index は数値に限らず、文字列でもOKです。

Python pandas Excel 読み込む方法 読み込み

 

pandasでExcelファイルを書き込む方法

Python pandas Excel 書き込む方法 書き込み

DataFrameをエクセルとして書き込む方法について紹介します。

 

解析したデータを共有するときに、共有相手がpythonや、jupyter notebookの環境がない場合には、エクセルのデータが欲しいとなる場合があります。

 

CSVでも良いですが、エクセルの場合、複数のシートに分けてデータをまとめて書き込めるので、エクセルに書き込むスキルも必要となります。

 

書き込むには、to_excelメソッドを使用しますが、このときにpandas.ExcelWriterも必要になります。

 

書き込むときは、通常のファイル操作と同じようにwith構文を使います。

 

In[]

 

ExcelWirterに出力ファイル名を渡し、writerを宣言して、DataFrameのto_excelにwriterを渡しています。

 

ただのルールなので、こういったものだと覚えてください。

 

書き込むデータを読み込んでおきましょう。

 

In[]

 

1つの Excelシートに書き込む方法

シンプルに1つのシートがあるエクセルを書き込みましょう。

 

出力ファイルを ’output.xlsx’ としています。

 

In[]

 

Out[]

Python pandas Excel 書き込む方法 書き込み

シート名を指定する場合は、パラメータ「sheet_name」を使います。

 

sheet_name=’シート1’ にしてみましょう。

 

In[]

 

 

Out[]

Python pandas Excel 書き込む方法 書き込み

 

複数の Excelシートに書き込む方法

複数のシートに書き込む場合は、そのまま、どんどん sheet_name を指定して書き込んでいきます。

 

In[]

 

 

Out[]

Python pandas Excel 書き込む方法 書き込み

今回は書き込んでいるデータが同じですが、色々なデータをシートに分けて書き込んでみましょう。

indexの使い方

A列にはDataFrameのindexのデータが出力されています。

 

出力するしないは、パラメータ「index」を使います。

 

  • True:出力する
  • False:出力しない

となります。

 

In[]

 

Out[]

Python pandas Excel 書き込む方法 書き込み

 Excelのheaderを変更

header が不要な場合は、パラメータ「header」を使います。

 

  • True:出力する
  • False:出力しない

となります。

 

In[]

 

Out[]

Python pandas Excel 書き込む方法 書き込み

 Excelの列を指定して書き込む方法

書き込む列を指定する場合は、パラメータ「columns」に対象列名をリストに渡します。

 

In[]

 

もし、うまくいかない場合DataFrame側で列名を指定することで実現できます。

 

In[]

 

Out[]

Python pandas Excel 書き込む方法 書き込み

 

今回は以上となります。

 

pandas の使用方法については以下の記事にまとめています。一通り本記事でpandasで Excelを使用する方法を学習できた方は再度復習してみましょう。

 

関連記事
Python pandas 使い方
【Python】Pandasの使い方【基本から応用まで全て解説】

続きを見る

 

また、pandasで Excelファイルを読み込む方法については以下の記事を参考にしてください。

関連記事
Python pandas Excel 読み込む方法 読み込み
【Python】pandasでExcelファイルを読み込む方法

続きを見る

 

 

 

人気記事 【入門から上級レベルまで】人工知能・機械学習の独学におすすめの本25選

人気記事 無料あり:機械学習エンジニアの僕がおすすめするAI(機械学習)特化型プログラミングスクール3社


-python
-, ,

Copyright© Tommy blog  , 2020 All Rights Reserved.