第15章. ReaderおよびWriterパッケージによるExcel ファイルの操作
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、reader および writer パッケージについて紹介する。これらは、Excel をインストールしなくても、Excel ファイルを直接読み書きできる。read_excelやto_excel関数を呼び出す際、pandas は内部でこれらを使用している。reader および writer パッケージを直接使用することで、より複雑な Excel レポートを作成できる。 また、pandasのその他の機能は必要なく、Excelファイルの読み書きのみを行うプロジェクトに取り組む場合、pandasのフルスタックをインストールするのは過剰な措置となるだろう。 この章では、各パッケージの概要を説明した後、その仕組みについて学ぶ。その後、DataFrameをExcelに書き出す際のスタイル付けについて検討する。最後に、レポート作成のケーススタディをもう一度取り上げる。前章と同様、この章でもExcelのインストールは不要であり、すべてのコードサンプルはWindows、macOS、Linuxで実行可能だ。
Excelファイルの読み書き
には、Excel ワークブックを読み書きできる Python パッケージが多数存在する。このセクションでは、本章で取り上げるパッケージの概要を説明する。ただし、混乱を避けるために、Excel ワークブックの読み取り、書き込み、編集のいずれを行いたいかによって、簡単な推奨事項から始めよう:
- 読み取り
-
、python-calamine、またはfastexcelのいずれかを使用する。これらのパッケージはいずれも、Rustで実装されたライブラリであるcalamineを基盤としている。pandasやPolars(「最新の代替手段」を参照)
engine="calamine"設定して使用するのが最適だが、DataFrameが必要ない場合は、python-calamineを単独で使用することもできる(fastexcelはバージョン1.0のリリースでスタンドアロンモードの提供を予定している)。Polarsはデフォルトでcalamineエンジンを使用するが、pandasでは本書を通じて行ってきたように、明示的にセットする必要がある:pd.read_excel("filename.xlsx",engine="calamine")pandasはcalamineエンジンとしてPython-calamineを使用するが、Polarsはfastexcelを使用する。次のセクションで両方のパッケージを紹介する。
- 執筆
-
制限にぶつからない限り、XlsxWriter()を使用する。制限にぶつかった場合は、OpenPyXLやExcelizeで問題が解決するかどうか確認する。XlsxWriterを推奨する理由は以下の通りだ:
-
これが最速のライターだ。XlsxWriterはPythonで書かれているが、現在では同じ作者によるRustベースのXlsxWriterプロジェクトも存在する。将来的には、現在の純粋なPython実装よりも数倍高速なPythonパッケージによってラップされることになるだろう。
-
文書化が非常に充実している。
-
活発にメンテナンスされている。
-
完全に互換性のあるExcelワークブックを作成する。
-
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access