🔖

【Python】openpyxlのフォルダ構成とそれぞれの役割

2024/07/24に公開

1. はじめに

openpyxlは、PythonでExcelファイルを操作するための強力なライブラリです。本記事では、openpyxlの詳細なフォルダ構成とそれぞれの役割、さらに各フォルダ内の主要なメソッドの使われ方とオプションについて解説します。

2. openpyxlの詳細なフォルダ構成

openpyxlの詳細なフォルダ構成は以下の通りです:

openpyxl/
├── __init__.py
├── cell/
│   ├── __init__.py
│   ├── cell.py
│   ├── read_only.py
│   └── text.py
├── chart/
│   ├── __init__.py
│   ├── area_chart.py
│   ├── bar_chart.py
│   ├── bubble_chart.py
│   ├── chartspace.py
│   ├── line_chart.py
│   ├── pie_chart.py
│   ├── radar_chart.py
│   ├── reference.py
│   ├── scatter_chart.py
│   ├── series.py
│   ├── series_factory.py
│   └── stock_chart.py
├── comments/
│   ├── __init__.py
│   ├── author.py
│   ├── comment_sheet.py
│   ├── comments.py
│   └── shape_writer.py
├── descriptors/
│   ├── __init__.py
│   ├── base.py
│   ├── excel.py
│   └── serialisable.py
├── drawing/
│   ├── __init__.py
│   ├── colors.py
│   ├── connector.py
│   ├── fill.py
│   ├── geometry.py
│   ├── image.py
│   ├── line.py
│   ├── picture.py
│   ├── properties.py
│   ├── relation.py
│   ├── spreadsheet_drawing.py
│   └── text.py
├── formatting/
│   ├── __init__.py
│   ├── formatting.py
│   └── rule.py
├── formula/
│   ├── __init__.py
│   ├── translate.py
│   └── translate.pyx
├── styles/
│   ├── __init__.py
│   ├── alignment.py
│   ├── borders.py
│   ├── builtins.py
│   ├── cell_style.py
│   ├── colors.py
│   ├── differential.py
│   ├── fills.py
│   ├── fonts.py
│   ├── named_styles.py
│   ├── numbers.py
│   ├── protection.py
│   └── styleable.py
├── utils/
│   ├── __init__.py
│   ├── cell.py
│   ├── dataframe.py
│   ├── datetime.py
│   ├── exceptions.py
│   ├── formulas.py
│   ├── indexed_list.py
│   └── units.py
├── workbook/
│   ├── __init__.py
│   ├── child.py
│   ├── defined_name.py
│   ├── external_link.py
│   ├── function_group.py
│   ├── properties.py
│   ├── protection.py
│   ├── smart_tags.py
│   ├── views.py
│   └── workbook.py
└── worksheet/
    ├── __init__.py
    ├── cell_range.py
    ├── datavalidation.py
    ├── dimensions.py
    ├── filters.py
    ├── header_footer.py
    ├── hyperlink.py
    ├── merge.py
    ├── page.py
    ├── pagebreak.py
    ├── protection.py
    ├── related.py
    ├── scenario.py
    ├── table.py
    ├── views.py
    └── worksheet.py

3. 各フォルダの役割と主要メソッド

3.1 cell/

セルに関連する操作を行うモジュールが含まれています。

メソッド名 含まれるファイル 説明 オプション
Cell cell.py セルの値や属性を操作するための基本クラス value, row, column, font, fill, border, alignment, number_format, protection
MergedCell cell.py 結合セルを表現するクラス value, row, column
ReadOnlyCell read_only.py 読み取り専用セルを表現するクラス value, row, column
CellRichText text.py リッチテキストセルを表現するクラス text, font

3.2 chart/

チャートの作成と操作に関するモジュールが含まれています。

メソッド名 含まれるファイル 説明 オプション
AreaChart area_chart.py エリアチャートを作成するクラス title, style, x_axis, y_axis, legend, data, categories
BarChart bar_chart.py バーチャートを作成するクラス title, style, x_axis, y_axis, legend, data, categories
BubbleChart bubble_chart.py バブルチャートを作成するクラス title, style, x_axis, y_axis, legend, data, categories
LineChart line_chart.py ラインチャートを作成するクラス title, style, x_axis, y_axis, legend, data, categories
PieChart pie_chart.py 円グラフを作成するクラス title, style, legend, data, categories
RadarChart radar_chart.py レーダーチャートを作成するクラス title, style, x_axis, y_axis, legend, data, categories
ScatterChart scatter_chart.py 散布図を作成するクラス title, style, x_axis, y_axis, legend, data, categories
StockChart stock_chart.py 株価チャートを作成するクラス title, style, x_axis, y_axis, legend, data, categories

3.3 comments/

セルコメントの操作に関するモジュールが含まれています。

メソッド名 含まれるファイル 説明 オプション
Comment comments.py セルコメントを表現するクラス text, author, width, height, visible
CommentAuthor author.py コメントの著者を表現するクラス name, id
CommentSheet comment_sheet.py コメントシートを表現するクラス comments

3.4 styles/

スタイルの定義と適用に関するモジュールが含まれています。

メソッド名 含まれるファイル 説明 オプション
Font fonts.py フォントスタイルを定義するクラス name, size, bold, italic, vertAlign, underline, strike, color
Color colors.py 色を定義するクラス rgb, indexed, auto, theme, tint, type
Fill fills.py セルの塗りつぶしスタイルを定義するクラス fill_type, start_color, end_color
Border borders.py セルの罫線スタイルを定義するクラス left, right, top, bottom, diagonal, vertical, horizontal
Alignment alignment.py セルの配置スタイルを定義するクラス horizontal, vertical, text_rotation, wrap_text, shrink_to_fit, indent
Protection protection.py セルの保護スタイルを定義するクラス locked, hidden

3.5 workbook/

ワークブック全体の操作に関するモジュールが含まれています。

メソッド名 含まれるファイル 説明 オプション
Workbook workbook.py ワークブックを表現するクラス active, sheetnames, add_sheet, remove_sheet, save, close
DefinedName defined_name.py 名前付き範囲を表現するクラス name, attr_text, comment, localSheetId
WorkbookProtection protection.py ワークブックの保護を表現するクラス workbookPassword, lockStructure, lockWindows
WorkbookProperties properties.py ワークブックのプロパティを表現するクラス title, subject, creator, keywords, description, lastModifiedBy

3.6 worksheet/

ワークシートの操作に関するモジュールが含まれています。

メソッド名 含まれるファイル 説明 オプション
Worksheet worksheet.py ワークシートを表現するクラス title, max_row, max_column, sheet_properties, freeze_panes, print_area
PageSetup page.py ページ設定を表現するクラス orientation, paperSize, fitToHeight, fitToWidth, firstPageNumber
PrintPageSetup page.py 印刷設定を表現するクラス orientation, paperSize, fitToHeight, fitToWidth, firstPageNumber
SheetProtection protection.py シート保護を表現するクラス sheet, objects, scenarios, formatCells, formatColumns, formatRows, insertColumns, insertRows, insertHyperlinks, deleteColumns, deleteRows, selectLockedCells, sort, autoFilter, pivotTables, selectUnlockedCells
DataValidation datavalidation.py データ検証を表現するクラス type, formula1, formula2, allow_blank, showDropDown, showInputMessage, showErrorMessage, errorTitle, error, errorStyle, promptTitle, prompt

4. まとめ

openpyxlのフォルダ構成は、Excelファイルの様々な側面を効率的に扱えるように設計されています。各フォルダには特定の機能に特化したモジュールが含まれており、これらを組み合わせることで、複雑なExcel操作を実現することができます。

この構造を理解することで、openpyxlをより効果的に使用し、Pythonを用いたExcelファイルの操作をスムーズに行うことができるでしょう。必要な機能に応じて適切なモジュールを選択し、効率的なコードを書くことが重要です。openpyxlの豊富な機能を活用して、Excelファイルの操作を効率化しましょう。

Discussion