【Python】Excelファイルの操作_読み込み
Excelファイルの操作_読み込み
openpyxlを使用したExcelファイルの読み込み
テストデータの内容
行\列 | A | B | C |
---|---|---|---|
1 | HEAD_A | HEAD_B | HEAD_C |
2 | AA | BB | CC |
3 | AAA | BBB | CCC |
基本的な読み込み処理
import openpyxl # Excelファイルを読み込む workbook = openpyxl.load_workbook('test.xlsx') # シートを取得する sheet = workbook['Sheet1'] # セルの値を取得する cell_value = sheet['A1'].value # 行を取得する row = sheet[1] # 列を取得する column = sheet['A'] # 範囲を指定してセルを取得する cells = sheet['A1:C3'] # 全てのセルを取得する all_cells = sheet.values # ファイルを閉じる workbook.close()
行ごと、列ごとの処理
行ごと、列ごとに値を読み込む
import openpyxl workbook = openpyxl.load_workbook('test.xlsx') sheet = workbook['Sheet1'] cell_value = sheet['A1'].value row = sheet[1] column = sheet['A'] # 1行ずつ読み込んで表示する for row in sheet.rows: print('----------') for cell in row: print(cell.value) # 1列ずつ読み込んで表示する for column in sheet.columns: print('----------') for cell in column: print(cell.value) workbook.close()
実行結果
----------
HEAD_A
HEAD_B
HEAD_C
----------
AA
BB
CC
----------
AAA
BBB
CCC----------
HEAD_A
AA
AAA
----------
HEAD_B
BB
BBB
----------
HEAD_C
CC
CCC
特定の列の値を読み込む
import openpyxl workbook = openpyxl.load_workbook('test.xlsx') sheet = workbook['Sheet1'] # 列の値を格納するリスト column_values = [] # 取得したい列の番号 column_number = 1 for row in sheet.iter_rows(values_only=True): column_values.append(row[column_number - 1]) # 結果の表示 for value in column_values: print(value) workbook.close()
実行結果
HEAD_A
AA
AAA
ヘッダを読み飛ばす場合
- enumerate()関数を使用してrow_indexを取得する
import openpyxl workbook = openpyxl.load_workbook('test.xlsx') sheet = workbook['Sheet1'] column_values = [] column_number = 1 for row_index, row in enumerate(sheet.iter_rows(values_only=True), start=1): if row_index == 1: continue column_values.append(row[column_number - 1]) # 結果の表示 for value in column_values: print(value) workbook.close()
実行結果
AA
AAA