コピー2018.01.05こんにちは。ひさ(@katsuhisa__)です。PythonのOpenPyXLモジュールを使い、面倒で退屈なExcel作業をPythonで自動化する方法をお伝えする連載の二記事目です!連載一記事目はこちら。本記事では、PythonでExcelファイルを操作するモジュールOpenPyXLのはじめての使い方(初心者向け)についてご紹介します!tonari-it.com2017.11.27前回は、OpenPyXLを使用するための事前準備と、試しにExcelのセルを1つ取得する方法をお伝えしました。二記事目となる今回は、OpenPyXLで複数のセルの値を取得する方法をご紹介します。最後までお付き合いください。複数のセル値をまとめて取得するセルの値を取得するコード繰り返し実行するコード行や列単位でExcelデータを取得しようExcelシートの行や列をまとめて取得するコード列単位でセルオブジェクトを取得するさいごに連載目次:PythonでExcelを操作するモジュールOpenPyXL複数のセル値をまとめて取得するさて、前回はExcelのセルの値を1つだけ取得する方法をお伝えしました。今回は、複数のセルの値を取得するにはどのように考えれば良いかを、まずはお伝えします。今回も前回のExcelシートをサンプルとして使用します。B列をすべて取得してみましょう。B列をすべて取得するPythonのコードは以下です。column=2).value)ApplesCherriesPearsOrangesApplesBananasStrawberriesという結果が返ってくれば成功です。具体的にコードの中身を解説します。大きく分けると以下の2つで構成されています。セルの値を取得するコード繰り返し実行するコードセルの値を取得するコードこちらは前回の復習ですので、詳細な説明は省略します。column=列数番号)このように記述すると、指定した行数番号と列数番号に対応するセルのオブジェクトが取得できましたね。column=列数番号).valueと記述すると、セルの値を取得できます。123...に対応しているのでしたね。今回はB列を取得したいので、column=2を指定すればよいですね。繰り返し実行するコードここでは、for文を用いています。処理と書けば、変数を開始値から終了値まで1ずつ繰り上げながら、処理を繰り返し実行できます。Pythonのfor文の使い方は、タカハシさんの記事で詳しく解説されていますので、よければご参照ください。一般ビジネスマンの初心者向けフォルダを操作するツールを作りながらPythonの基本を学ぶシリーズ。今回は、Pythonプログラミングの基本、forループとrange関数による繰り返し処理の作り方です。」と書いたので、変数iを1から8まで1ずつ繰り上げながら処理を繰り返します。」なので、row(行数番号)を1から8まで1ずつ繰り上げながら、column(列数番号)が2、すなわちB列の値を出力する処理を実行しました。column=1).value)を行ったことになります。「1〜8まで」=「1,2,3,4,5,6,7」なのでご注意くださいね。ここまでで、複数のセルの値をまとめて取得する方法の概要を説明しました。終点を指定するのは面倒だ」と思いませんでしたか?新しく8行目や9行目を追加すると、そのたびにfor文の終了値を9や10に変更しなければなりません。みなさんが業務で扱うExcelシートは一度作成した後はずっと更新されない、なんてことはないはずです。前述したコードのままであれば、Excelシートが更新される度に、コードをメンテナンスする羽目になりますね。こんなめんどくさいこと誰もやりたくないでしょう。そこで、OpenPyXLでは、Excelの行や列単位でまとめて取得するための書き方が存在します。list(sheet.columns)[1]:print(cell_obj.value)今回もApplesCherriesPearsOrangesApplesBananasStrawberriesと表示されれば成功です。列単位でセルオブジェクトを取得するlist(シートオブジェクト.columns)[列数番号]list関数を使えば、指定した列数番号に存在するExcelのセルオブジェクトをまとめて取得できます。行単位でExcelのセルオブジェクトを取得するには、columnsをrows、列数番号を行数番号に変えれば良いです。今回のサンプルコードでは、具体的に以下の値が返り値として得られます。Sheet1.B7>さらに、上述したサンプルコードでは、この返り値をfor文で処理をしています。list(sheet.columns)[1]:print(cell_obj.value)取得したB列のセルオブジェクト(list(sheet.columns)[1])に対し、for文でprint(cell_obj.value)を繰り返し実行することで、B列のセルの値を1つずつ出力しています。さいごに以上、OpenPyXLで複数のセルの値を取得する方法でした。前記事に比べると、ややプログラムが複雑なので、難しいと感じた方もいらっしゃったかもしれませんが、何度か読めば必ず理解できる内容だと思いますので、ぜひがんばって取り組んでいただければ幸いです。次回は、ついにOpenPyXLを使ってExcelにデータを書き込む方法について学んでいきます。ここまで理解すれば、異なるExcelシート間のデータコピーを行う基礎が完成するので楽しみにしていてください。本連載の更新情報は、管理人のタカハシ(@ntakahashi0505)さんのTwitterアカウントや、もちろん私のアカウント(@katsuhisa__)で配信していくので、もしよければ、フォローをお願いします!連載目次:PythonでExcelを操作するモジュールOpenPyXLOpenPyXLというモジュールを使うことでPythonでExcelファイルを操作することができます。本シリーズでは初心者向けにExcelファイルの作業をPythonで自動化する方法をお伝えします。お仕事をやっています。めんどうなことをそのままやり続けるのではなく、省力化する人を増やしたい。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。関連記事Python【ノンプログラマー向けPython】まず最初に覚えたいPyCharmのショートカットキーまとめ非エンジニア向け、AnacondaとPyCharmによるPython環境構築についてお伝えしています。今回は、Windowsユーザー向け、まず最初に覚えておきたいPyCharmのショートカットキーをまとめてます。初心者向け&Windowsユーザー向けPythonでZIP圧縮をするツールの作り方をお伝えしています。今回はPythonでフォルダ内のツリー構造を走査してサブフォルダとファイルを全てリストアップする方法です。2017.09.09PythonPythonでフォルダ内の特定の拡張子のファイルだけ抽出する方法プログラミング初心者&Windowsユーザー向けPythonで古いファイルを自動で削除するツールの作り方をお伝えしています。今回はPythonでフォルダ内の特定の拡張子のファイルだけ抽出する方法についてです。初心者&Windowsユーザー向けに、Pythonで辞書を使った集計ツールの作り方です。辞書に指定したキーが存在するかどうかを判定して、存在しなければ辞書のキーとして追加をするという処理を追加します。NotebookとそのはじめかたPython初心者のWindowsユーザー向けにAnacondaをベースにした開発環境についてお伝えしています。Notebookとそのはじめかたについてお伝えします。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった2020.02.072020.02.08GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法2020.02.052020.02.05Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。