このコードは、Pythonのopenpyxlライブラリを使用してExcelファイルを操作し、判定シートに結果を記入するものです。以下にコードの概要と各部分の解説を示します。
コードの概要
openpyxl
モジュールをインポートします。- 判定シートのファイル名を定義します。
- 判定シートを読み込みます。
- 判定シートの3列目の2行目からデータを参照し、4列目に結果を記入します。
- 試験情報のファイル名を組み立て、試験情報を読み込みます。
- 試験情報シートに値が存在するかどうかをチェックし、結果を判定シートに記入します。
- 更新された判定シートを保存します。
コードの解説
import openpyxl # 判定シートのファイル名 judgement_sheet_filename = "C:/python/python/判定シート.xlsx" # 判定シートの読み込み judgement_sheet = openpyxl.load_workbook(judgement_sheet_filename) judgement_sheet_active = judgement_sheet.active
openpyxl
モジュールをインポートし、判定シートのファイル名を定義します。openpyxl.load_workbook()
関数を使用して、判定シートを読み込みます。読み込んだシートのアクティブなシートを取得します。
for row in range(2, judgement_sheet_active.max_row + 1): value_to_check = judgement_sheet_active.cell(row=row, column=3).value sheet_check = judgement_sheet_active.cell(row=row, column=2).value file_check = judgement_sheet_active.cell(row=row, column=1).value
- 判定シートの3列目(
column=3
)から試験情報の値を取得し、2列目からはシート名、1列目からはファイル名を取得します。
exam_info_filename = f"C:/python/python/{file_check}.xlsx"
exam_info = openpyxl.load_workbook(exam_info_filename)
exam_info_active = exam_info[sheet_check]
- 試験情報のファイル名を組み立て、
openpyxl.load_workbook()
関数を使用して試験情報を読み込みます。その後、指定されたシートを取得します。
result = "" # 試験情報シートに値が存在するかチェック if value_to_check in [cell.value for row in exam_info_active for cell in row]: # Yesならば、判定シートの4列目に〇を記載 result = "〇" else: # Noならば、判定シートの4列目に×を記載 result = "×" # 判定シートの4列目に結果を記入 judgement_sheet_active.cell(row=row, column=4, value=result)
- 試験情報シートに値が存在するかどうかをチェックし、結果を変数
result
に格納します。存在する場合は"〇"、存在しない場合は"×"とします。 - 判定シートの4列目に結果を記入します。
# 結果を保存 judgement_sheet.save("C:/python/python/更新された判定シート.xlsx")
- 最後に、更新された判定シートを指定したファイル名で保存します。