Python
Excel
pandas
python3
Jupyter

Pythonでエクセル操作(読み込み、列を指定して削除する、列と行を入れ替える、保存)

はじめに

この記事は、Windows環境でJupyter Notebookを使って、PythonでExcelの読み込みと編集、保存をするための記事です。
この記事でやっていること。

  • Pandasのインストール
  • Excelファイル(.xlsx)の読み込み
  • DataFrame(Excel)の行数の読み込み
  • 読み込んだファイルの表示
  • 列を指定して削除する
  • 列と行を入れ替える

前準備

必要なライブラリのインストールをします。
JupyterNotebookを使っていれば、下記のように書けばインストールされます。

ExcelData.py
! pip install pandas
! pip install xlrd

Excelファイルの読み込み

ExcelData.py
#同一ディレクトリに置いたData.xlsxを読み込み、dfとする
df = pd.read_excel('Data.xlsx', index=False, dytpe='object')

  • pandasで取り込んだファイルはDataFrameオブジェクトとして取り込まれる

読み込んだ行数を取得

ExcelData.py
filelen = len(df)
print(filelen,'行読み込みました')
  • len(df)で行数が取得できます。

不要な列を削除する

例えば、下記のようなテーブルを読み込ませていた場合

日付 天気 気温
20180101 晴れ 10
20180102 9
20180103 曇り 8
ExcelData.py
df=df.drop(columns='天気')

df.drpで列名を指定してあげると、削除される

日付 気温
20180101 10
20180102 9
20180103 8

列と行を入れ替える

先ほど天気を削除したdfをそのまま使うと

日付 気温
20180101 10
20180102 9
20180103 8
ExcelData.py
df2=df.T

すごく簡単に入れ替える事ができる

0 1 2 3
日付 20180101 20180102 20180103
気温 10 9 8

Excelファイルを出力する

ExcelData.py
#Excel書き込み
df.to_excel('ExportData.xlsx' , index=False)
  • index=Falseはインデックスを出力しない

ソースまとめ

LoadExcel.py
#Excelファイルを読み込むためのPandasをインポート
import pandas as pd

#同一ディレクトリに置いたData.xlsxを読み込み、dfとする
df = pd.read_excel('Data.xlsx', index=False, dytpe='object')

#読み込んだ行数を表示
fileLen = len(df)
print(fileLen,"行読み込みました")

#読み込んだファイルを表示
display(df)

#天気列の削除
df=df.drop(columns='天気')
display(df)

#列と行を入れ替える
df=df.T
display(df)

#Excel書き込み
df.to_excel('ExportData.xlsx' , index=False)