【Python】エクセルのデータを取得する方法

この記事では、Pythonを使用してエクセルファイルを読み込み、特定のシートやセル、条件に合致するデータを取得する方法を紹介します。

さらに、取得したデータを加工したり分析したりする手順も解説します。

Pythonを使ってエクセルデータを効果的に扱う方法を学びましょう。

目次から探す

Pythonでエクセルファイルを読み込む方法

Pythonを使用してエクセルファイルを読み込む方法には、主にpandasライブラリopenpyxlライブラリの2つの方法があります。

pandasライブラリを使用する

pandasライブラリはデータ解析や操作に便利な機能を提供しています。

エクセルファイルを読み込む際には、pandasのread_excel()関数を使用します。

以下はそのサンプルコードです。

import pandas as pd

# エクセルファイルを読み込む
df = pd.read_excel('sample.xlsx')

# 読み込んだデータを表示
print(df)

上記のコードでは、read_excel()関数を使用してsample.xlsxというエクセルファイルを読み込み、dfというDataFrameオブジェクトにデータを格納しています。

openpyxlライブラリを使用する

openpyxlライブラリはエクセルファイルを操作するためのライブラリで、より細かい操作が可能です。

エクセルファイルを読み込む際には、openpyxlのload_workbook()関数を使用します。

以下はそのサンプルコードです。

from openpyxl import load_workbook

# エクセルファイルを読み込む
wb = load_workbook('sample.xlsx')
sheet = wb.active

# シートの内容を表示
for row in sheet.iter_rows(values_only=True):
    print(row)

上記のコードでは、load_workbook()関数を使用してsample.xlsxというエクセルファイルを読み込み、アクティブなシートの内容を1行ずつ表示しています。

これらの方法を使用することで、Pythonで簡単にエクセルファイルを読み込むことができます。

エクセルファイルから特定のシートを取得する方法

pandasを使用してシートを指定して読み込む

pandasライブラリを使用すると、エクセルファイルから特定のシートを読み込むことができます。

以下はその方法です。

import pandas as pd

# エクセルファイルを読み込む
excel_file = pd.ExcelFile('sample.xlsx')

# シート名を指定してデータフレームとして読み込む
sheet_name = 'Sheet1'
df = excel_file.parse(sheet_name)

# データフレームを表示
print(df)

このコードでは、pd.ExcelFileを使用してエクセルファイルを読み込み、parseメソッドを使って特定のシートをデータフレームとして取得しています。

openpyxlを使用してシートを指定して読み込む

openpyxlライブラリを使用すると、エクセルファイルから特定のシートを読み込むことができます。

以下はその方法です。

from openpyxl import load_workbook

# エクセルファイルを読み込む
workbook = load_workbook('sample.xlsx')

# シート名を指定してシートオブジェクトを取得
sheet = workbook['Sheet1']

# シート内のセルの値を取得して表示
for row in sheet.iter_rows(values_only=True):
    for cell in row:
        print(cell.value, end='\t')
    print()

このコードでは、load_workbookを使用してエクセルファイルを読み込み、指定したシート名のシートオブジェクトを取得してセルの値を取得しています。

エクセルファイルから特定のセルや範囲のデータを取得する方法

pandasを使用してセルや範囲を指定してデータを取得する

pandasライブラリを使用すると、エクセルファイルから特定のセルや範囲のデータを簡単に取得することができます。

以下に、具体的な手順を示します。

  1. 特定のセルのデータを取得する
import pandas as pd

# エクセルファイルを読み込む
df = pd.read_excel('sample.xlsx')

# 特定のセルのデータを取得する
cell_value = df.at[0, 'A']  # 1行目のA列のデータを取得
print(cell_value)
  1. 特定の範囲のデータを取得する
import pandas as pd

# エクセルファイルを読み込む
df = pd.read_excel('sample.xlsx')

# 特定の範囲のデータを取得する
range_data = df.loc[1:3, 'B':'D']  # 2~4行目とB~D列のデータを取得
print(range_data)

openpyxlを使用してセルや範囲を指定してデータを取得する

openpyxlライブラリを使用すると、エクセルファイルから特定のセルや範囲のデータを取得することができます。以下に、具体的な手順を示します。

  1. 特定のセルのデータを取得する
from openpyxl import load_workbook

# エクセルファイルを読み込む
wb = load_workbook('sample.xlsx')
sheet = wb.active

# 特定のセルのデータを取得する
cell_value = sheet['A1'].value  # A1セルのデータを取得
print(cell_value)
  1. 特定の範囲のデータを取得する
from openpyxl import load_workbook

# エクセルファイルを読み込む
wb = load_workbook('sample.xlsx')
sheet = wb.active

# 特定の範囲のデータを取得する
range_data = sheet['B2':'D4']  # B2からD4までのセルのデータを取得
for row in range_data:
    for cell in row:
        print(cell.value, end=' ')
    print()

これらの方法を使うことで、Pythonを使ってエクセルファイルから特定のセルや範囲のデータを簡単に取得することができます。

エクセルファイルから条件に合致するデータを取得する方法

pandasを使用して条件に合致するデータを取得する

pandasライブラリを使用すると、エクセルファイルから条件に合致するデータを簡単に取得することができます。

以下はその手順です。

  1. pandasライブラリをインポートします。
import pandas as pd
  1. エクセルファイルを読み込みます。
df = pd.read_excel('sample.xlsx')
  1. 条件に合致するデータを取得します。例えば、特定の列の値が条件を満たす行を取得する場合は以下のようにします。
filtered_data = df[df['列名'] > 10]
  1. 取得したデータを表示します。
print(filtered_data)

openpyxlを使用して条件に合致するデータを取得する

openpyxlライブラリを使用しても、条件に合致するデータを取得することができます。以下はその手順です。

  1. openpyxlライブラリをインポートします。
from openpyxl import load_workbook
  1. エクセルファイルを読み込みます。
wb = load_workbook('sample.xlsx')
ws = wb.active
  1. 条件に合致するデータを取得します。例えば、特定のセルの値が条件を満たす場合は以下のようにします。
filtered_data = []
for row in ws.iter_rows(min_row=2, values_only=True):
    if row[0] > 10:
        filtered_data.append(row)
  1. 取得したデータを表示します。
for data in filtered_data:
    print(data)

これらの手順を実行することで、エクセルファイルから条件に合致するデータを取得することができます。

エクセルファイルからデータを取得して処理する方法

エクセルファイルからデータを取得した後、そのデータを加工したり分析したりすることができます。

Pythonを使用して、取得したデータを効果的に処理する方法を見ていきましょう。

取得したデータを加工する

データを取得した後、加工することで必要な情報を抽出したり、データの形式を整えたりすることができます。

以下は、pandasライブラリを使用してエクセルファイルからデータを読み込み、加工するサンプルコードです。

import pandas as pd

# エクセルファイルを読み込む
df = pd.read_excel('sample.xlsx')

# データの加工例:特定の列を抽出する
specific_data = df['Column_Name']

# データの加工例:条件に合致する行を抽出する
filtered_data = df[df['Column_Name'] > 10]

# 加工したデータを表示
print(specific_data)
print(filtered_data)

取得したデータを分析する

取得したデータを分析することで、データの傾向やパターンを把握することができます。

以下は、取得したデータを分析するためのサンプルコードです。

import pandas as pd

# エクセルファイルを読み込む
df = pd.read_excel('sample.xlsx')

# データの統計情報を表示
data_statistics = df.describe()

# 特定の列の平均値を計算
mean_value = df['Column_Name'].mean()

# 分析結果を表示
print(data_statistics)
print(mean_value)

データを取得して加工・分析することで、エクセルファイルから有益な情報を取り出すことができます。

Pythonを使ってデータ処理を行うことで、効率的に作業を進めることができます。

目次から探す