0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Python】読込むブック名とセルの値をパラメーターにする。③

Posted at

pythonを使用してExcelファイルの操作を勉強しています。
本日の気づき(復習)は、パラメーターに関してです。
pythonでExcelを操作するため、openpyxlというパッケージを使用しています。

後々レイアウトを変更したり、プログラムで読み込むブック名やセルの値を変えてしまうかもしれない時の対処法です。
なんだかちょっと実戦形式っぽくてワクワクしてます。

今回はこちらのブック「日報.xlsx」を、使用します。
image.png

argparseモジュール

コマンドラインで入力するのはsysモジュールと同じですが、より多くの機能があります。
詳しくはこちらをご覧ください。
https://docs.python.org/ja/3/library/argparse.html

先ずは、argparse.ArgumentParserオブジェクトを作り

parser = argparse.ArgumentParser(description=プログラムの説明)

次に、Parser.add_argumentメソッドを使って
コマンドラインで入力したパラメーターを取得します。

parser.add_argument(引数の名前, help=引数の説明)

コマンドラインで入力されたパラメーターは、ArgumentParser.parse_argsメソッドで取り出します。

parser.parse_args()

それらを踏まえて

argparse_arguments.py
import argparse
from openpyxl import load_workbook

parser = argparse.ArgumentParser(description='Excelのセルの値を取得するプログラム')

parser.add_argument('filename', help='読込むブック名: ')
parser.add_argument('cellno', help='読込むセル名(例 A1): ')

args = parser.parse_args()

wb = load_workbook(args.filename, read_only=True)
ws = wb.active

print(ws[args.cellno].value)

こんな感じで出来ました。

# 読み込むブック名とセル名を入力して実行
>python argparse_arguments.py 日報.xlsx I1
-->hogehoge

argparseの便利な点は、
descriptionの引数やadd_argumentメソッドのhelp引数の詳細を記述できる点でしょうか。
「-h」オプションを付けてプログラムを実行するとプログラムの詳細を表示してくれます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?