🔖
【Python】openpyxlのフォルダ構成とそれぞれの役割
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