Pythonを使用してExcelファイルを処理する際、特定のシートのデータを取得する必要がある場合があります。しかし、シート名がわからない場合、そのシートにアクセスすることはできません。この場合、Excelファイルのファイル名からシート名を取得することができます。

以下は、PythonでExcelファイル名からシート名を取得する方法です。

import os
import openpyxl

# Excelファイルのパスを設定
file_path = "/path/to/excel_file.xlsx"

# Excelファイルを開く
workbook = openpyxl.load_workbook(file_path)

# ファイル名からシート名を取得する
sheet_name = os.path.splitext(os.path.basename(file_path))[0]

# シート名が存在するか確認する
if sheet_name in workbook.sheetnames:
    # シートが存在する場合、シートオブジェクトを取得する
    sheet = workbook[sheet_name]
else:
    # シートが存在しない場合、エラーを出力する
    print(f"Sheet '{sheet_name}' does not exist in file '{file_path}'")

このコードでは、os.path.splitext関数を使用して、Excelファイルの拡張子を取り除き、os.path.basename関数を使用して、ファイルパスからファイル名を取得します。そして、workbook.sheetnamesリストにシート名が存在するかどうかを確認し、存在する場合はworkbook[sheet_name]を使用してシートオブジェクトを取得します。存在しない場合は、エラーメッセージを出力します。

この方法を使用すると、Excelファイル名からシート名を取得することができ、処理を簡素化できます。