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ファイル名からシート名を取得することができ、処理を簡素化できます。