2024年4月17日こんにちは!Excelを自動で操作してみたい!手作業の仕事を効率化してみたい!と考えている方は多いと思います。そんな時に役立つのがopenpyxlというライブラリです。この記事ではpythonのopenpyxlを使ってセルの値を取得する方法について解説します。目次openpyxlについて・基本操作openpyxlは、pythonでxlsx形式のエクセルファイルを操作するために使うライブラリです。データ分析などにpythonを使用するときによく利用されるライブラリです。openpyxlで出来ることエクセルファイルの読み込みエクセルファイルの編集エクセルファイルの保存openpyxlのインストールopenpyxlは外部ライブラリであるため、pythonには標準でインストールされていません。そのためopenpyxlを利用するためにはインストールする必要があります。以下の手順でインストールしましょう。openpyxlターミナルで上記コマンドを実行するとopenpyxlをインストールすることができます。インストールにはpythonのパッケージマネージャーであるpipを使用しました。pipはpythonをインストールしたときに一緒にインストールされていると思います。ワークブック(エクセルファイル)の開き方エクセルファイルはワークブックとして扱われます。以下のコードでopenpyxlを使ってワークブックを開くことができます。load_workbook('example.xlsx')load_workbook()がワークブックを開く関数です。ワークシート(エクセルのシート)の選択ワークブック内の特定のシートを選択することができます。wb['Sheet1']wbはload_workbook()で開いたワークブックです。開いたワークブックの特定のシートをwsに指定しています。セルの値を取得するここから少し実践的な内容を解説していきます。セルの値の取得方法です。ws['A1'].valueprint(value)上記コードではwsというシートのA1セルの値を取得しvalueという変数に格納しています。特定のセルだけでなく、複数のセルの値を取得することもできます。複数セルの値を取得するには行や列をイテレート(繰り返し)する方法とセルの範囲を指定する方法があります。一つずつ見ていきましょう。行や列のイテレートで複数セルの値を取得するiter_row()メソッドやtier_cols()メソッドを使用して特定の行や列をイテレートします。print(cell.value)上記の例ではrowは1行目から2行目を指定、colは1列目(A列)から3列目(C列)を指定しています。C2の値を出力します。print(cell.value)この例も先ほどの例と同様A1からC2までのセルの値を出力します。条件に基づいてセルの値を取得するif文を使うことで条件に合うセルの値だけを取得することもできます。print(cell.value)上記コードでは1行目から5行目の範囲でセルの値が10より大きい場合だけ出力しています。おまけopenpyxlを利用したサンプルプログラムを紹介します。実際に自分で実行したり、修正したりしてみてください。今回解説した内容とは少し違いますが、実際にopenpyxlを使用した例です。こんなことができる、こんな使い方をするというイメージが持てるかなと思います。ここにはxlsxファイルを保存する場所のpathを記述wb.save(file_path)file_path上記のコードを実行すると下のようなシートが指定した場所に保存されます。実行結果まとめ今回はpythonのopenpyxlライブラリを使用してセルの値を取得する方法を解説しました。エンジニアではない方も業務を効率化したりできるので覚えておいて損のない知識だと思います!当サイトでは他にもPythonの記事を公開しています。こんにちは!tenjiprogrammingです。以前Javaでのヌメロンの作り方を紹介しましたが、今回はpythonでヌメロンを作る方法を解説します。短いコードで実装できるので初心...また、Python以外にもJavaやJavaScriptなど様々なテーマについての記事を公開しています。こんにちは!tenjiprogrammingです。今回はJavaScriptで写真付きの4択クイズを作成する方法を説明します。サンプルコードも載せるので自分の環境でも書いて試してみて...tenjiprogramming20代エンジニア。メインで使用している言語はJava/JavaScript/TyoeScript/react/C言語AWSなどクラウド周りも経験あり。楽しいをモットーに記事を書いています。Noteではサンプルコード付きのゲームの作り方など様々な内容を公開しています。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。プログラミングtenjiprogramming20代エンジニア。メインで使用している言語はJava/JavaScript/react/C言語などAWSなどクラウド周りも経験あり。楽しいを大事に記事を書いています。