- Pythonでのアドレス管理効率化アプリのソースコード
- Pythonのファイル入出力の方法
- Pythonでクリップボードにデータを入れる方法
メール送る時にアドレス調べるのが大変だよー
それプログラムで簡単に出せるようになるよ
え!?そうなの?
僕が実際に使っているPythonを用いた方法をご紹介します。
ソースコードも載せているのでコピペで使えます!
- 毎日アドレス探しに時間が掛かっている人
- Pythonを使った改善事例を知りたい人
- Pythonファイル入出力の方法を知りたい人
今回作った業務効率化アプリ
今回作ったのはどんなアプリ?
今回作ったアプリは以下の通りのものです。
今回作ったアプリ
送りたい人の名前を入力するとクリップボードにアドレスを貼り付けてくれるアプリ
後はメールの宛先欄にペーストするだけでOKです!
アプリの動作
今回のアプリは以下のような動作をします。
コマンドプロンプトに「python アドレス管理アプリのファイル名」を打ち込みます。
今回はアドレス管理アプリの名前は「address.py」なので打ち込むコマンドは以下の通りです。
打ち込むコマンド
送り先の名前を聞いてくるのでコマンドプロンプト上に打ち込みます。
今回は山本さん(仮名)にメールを送る為、「yamamoto」と打ち込みます。
打ち込むコマンド
事前に以下のようなcsvファイルを用意しておきます。
このcsvファイルのA列の名前とSTEP2で入力した名前が一致した行のアドレスとあいさつ文を出力します。
csvファイルからメールアドレス、あいさつ文を出力します。
メールアドレスはクリップボードに出力されるのでそのままペーストすればOKです。
あいさつ文はメモ帳に記入して表示されるのでそのまま本文にコピペすればOKです。
アドレス管理アプリのソースコードとライブラリ
どうやったら作れるの?
実際に今回作ったアプリのソースコード全文と各要素の動作について説明します。
動作環境
今回のアプリは以下の環境で動作するようになっています。
動作環境
OS:Windows10
バージョン:Python 3.8
ソースコード全文
今回のソースコードは以下の通りです。
ソースコード
#! python 3 # アドレス管理 #ライブラリをインポート import csv import pyperclip import subprocess #各種ファイルのパス list_path = "./address_list.csv" #アドレスリストのパス template_path = "./template.txt" #メール貼り付け用テンプレートのパス notepad_path = r'C:\WINDOWS\system32\notepad.exe' #メモ帳アプリのパス #業者、アドレス情報をcsvファイルから取得 with open(list_path)as ad: reader = csv.reader(ad) ad_group =[row for row in reader] print("送り先を入力してください。") partner_name = input() flug=0 #入力された名前とマッチングする情報を抜き出し for i in range(len(ad_group)): if ad_group[i][0] == partner_name: pyperclip.copy(ad_group[i][1]) print("アドレスをクリップボードへコピーしました") with open(template_path,'w')as temp: temp.write(ad_group[i][2]+"\n") temp.write(ad_group[i][3]+"\n") temp.write("\n") temp.write(ad_group[i][4]) temp.close() subprocess.Popen([notepad_path,template_path]) flug = 1 if flug == 0: print("存在しない送り先です。")
使用したライブラリ
今回使用したライブラリは以下の3つです。
ライブラリ
import csv #csvファイル読み込み用ライブラリ import pyperclip #クリップボード操作用ライブラリ import subprocess #ポップアップ用ライブラリ
各種ライブラリは事前に以下のコマンドを入力しておくことでインストールできます。
csvのインストール
pip install csv
pyperclipのインストール
pip install pyperclip
subprocessのインストール
pip install subprocess
CSVファイルの読み込み
以下の部分でcsvファイルにして保存したアドレスリストを全て読み込みます。
csvファイル読み込み
with open(list_path)as ad: reader = csv.reader(ad) ad_group =[row for row in reader]
csvファイルの中身は以下のようなものです。
今回は「address_list.csv」という名前にしています。
名前を変更した場合はソースコードの以下の部分を変更してください。
変更する部分
list_path = "./address_list.csv"
CSVファイルとの照合
以下の部分にてアドレスリストのA列とコマンドプロンプトで入力された文字列を比較します。
一致した場合はその行の情報を抜き出します。
csvファイルと照合
#入力された名前とマッチングする情報を抜き出し for i in range(len(ad_group)): if ad_group[i][0] == partner_name: pyperclip.copy(ad_group[i][1]) print("アドレスをクリップボードへコピーしました")
クリップボードへの出力とメモ帳へのポップアップ
以下の部分でクリップボードへアドレスを保存します。
さらに宛名とあいさつをメモ帳に記載してポップアップします。
クリップボードへの出力とポップアップ
pyperclip.copy(ad_group[i][1]) print("アドレスをクリップボードへコピーしました") with open(template_path,'w')as temp: temp.write(ad_group[i][2]+"\n") temp.write(ad_group[i][3]+"\n") temp.write("\n") temp.write(ad_group[i][4]) temp.close() subprocess.Popen([notepad_path,template_path])
まとめ
アプリによってメールを送る時のアドレスを検索や名刺を探したりという手間が減りました。
この記事を見て自分にも出来そうだと思ってもらえると嬉しいです。
やってみると結構楽しいですよ!
しかも時短効果も大きい!
その他のPythonによる業務効率化事例は以下の記事で紹介します。↓
今回の内容は以上になります。
ここまで読んでくださりありがとうございました。
コメント