Python転職初心者向けエンジニアリングブログ

Pythonに魅了されたあなたへ。エンジニアリングの扉を開く転職初心者向けのブログへようこそ。このブログでは、Pythonの奥深さに迫りながら、エンジニアリングへの転職に役立つ情報を提供しています。未経験者から始めるPythonエンジニアリングの世界への一歩を踏み出すためのガイダンス、ベストプラクティス、そして成功事例など、初心者の方でもわかりやすいコンテンツをお届けします。

Pythonのopenpyxlライブラリを使用してExcelファイルを操作し、判定シートに結果を記入する

LYPプレミアム会員 python

このコードは、Pythonのopenpyxlライブラリを使用してExcelファイルを操作し、判定シートに結果を記入するものです。以下にコードの概要と各部分の解説を示します。

コードの概要

  1. openpyxlモジュールをインポートします。
  2. 判定シートのファイル名を定義します。
  3. 判定シートを読み込みます。
  4. 判定シートの3列目の2行目からデータを参照し、4列目に結果を記入します。
  5. 試験情報のファイル名を組み立て、試験情報を読み込みます。
  6. 試験情報シートに値が存在するかどうかをチェックし、結果を判定シートに記入します。
  7. 更新された判定シートを保存します。

コードの解説

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")
  • 最後に、更新された判定シートを指定したファイル名で保存します。