【Pythonライブラリ】「openpyxl」のサンプルコード

Python

こちらは「openpyxl」(Pythonライブラリ)のサンプルコードについての記事となっております。

基本情報 … Basic Information

「openpyxl」は、PythonでExcelファイル(.xlsxファイル)を読み書きするためのライブラリです。主な機能として、Excelファイルの読み込みや書き込み、シートやセルの操作、グラフの作成などがあります。また、Excelの機能である条件付き書式、データバリデーション、コメント、ハイパーリンクなども扱えます。OpenPyXLは、Excel 2010以降で導入された新しいExcelファイル形式(.xlsx)に対応しており、旧式のExcelファイル形式(.xls)には対応していません。

サンプルコード … Sample Code

001 MicrosoftExcelファイルの読み込み … Read the Excel File

1.「openpyxl」(Pythonライブラリ)で「XLSX」ファイル(MicrosoftExcelファイル)を読み込む

###############################################################################

import openpyxl

###############################################################################

wb = openpyxl.load_workbook("SAMPLE/sample.xlsx")

print(type(wb))         ### <class 'openpyxl.workbook.workbook.Workbook'>
print(wb.sheetnames)    ### ['first']

###############################################################################

ws = wb.active          ### active
### ws = wb["first"]    ### by name
### ws = wb[0]          ### by index

print(type(ws))         ### <class 'openpyxl.worksheet.worksheet.Worksheet'>
print(ws.title)         ### first
print(ws.min_row)       ### 1 
print(ws.max_row)       ### 3
print(ws.min_column)    ### 1
print(ws.max_column)    ### 3

###############################################################################

cell = ws["A1"]
### cell = ws.cell(row=1, column=1)

print(type(cell))           ### <class 'openpyxl.cell.cell.Cell'>
print(cell.coordinate)      ### A1
print(cell.row)             ### 1
print(cell.column)          ### 1

print(cell.font )           
### Parameters:
### name='游ゴシック', 
### charset=128, 
### family=2.0, 
### b=False, i=False, 
### strike=None, 
### outline=None, 
### shadow=None, 
### condense=None, 
### color=<openpyxl.styles.colors.Color object>
### Parameters:
### rgb=None, 
### indexed=None, 
### auto=None, 
### theme=1, 
### tint=0.0, 
### type='theme', 
### extend=None, 
### sz=11.0, 
### u=None, 
### vertAlign=None, 
### scheme='minor'

print(cell.number_format )  
### General

val = cell.value

print(val)              ### one
print(type(val))        ### <class 'str'>

###############################################################################

cell_TUPLE = ws["A1:C3"]
### cell_TUPLE = ws["A1":"C3"]
### cell_TUPLE = ws[1:3][:][:3] ### ws[row_num][row_id][column_id]
print(cell_TUPLE)       
### (
### (<Cell 'first'.A1>, <Cell 'first'.B1>, <Cell 'first'.C1>), 
### (<Cell 'first'.A2>, <Cell 'first'.B2>, <Cell 'first'.C2>), 
### (<Cell 'first'.A3>, <Cell 'first'.B3>, <Cell 'first'.C3>)
### )

for ws_row in cell_TUPLE:
    for cell in ws_row:
        print(f"{cell.coordinate}:{cell.value}")
### A1:one
### B1:two
### C1:three
### A2:four
### B2:five
### C2:six
### A3:seven
### B3:eight
### C3:nine

###############################################################################

このプログラムでは、openpyxl.load_workbook()関数を使用して、Excelファイルを読み込みます。ws = wb.activeを使用すると、アクティブなワークシートにアクセスできます。

ワークシートのセルにアクセスするには、ws["A1"]のように文字列でセルの場所を指定します。cell.valueを使用して、そのセルの値にアクセスできます。また、セルの値の型を確認するには、type(cell.value)を使用します。

セルの範囲にアクセスするには、ws["A1:C3"]のように、2つの文字列で範囲を指定します。forループを使用して、セルの範囲内のすべてのセルにアクセスすることができます。

以上のように、openpyxlを使用してExcelファイルを操作することができます。