Pythonでファイル入出力&クリップボード操作して業務効率化!

この記事で分かること
  • Pythonでのアドレス管理効率化アプリのソースコード
  • Pythonのファイル入出力の方法
  • Pythonでクリップボードにデータを入れる方法
かりん

メール送る時にアドレス調べるのが大変だよー

なおひ

それプログラムで簡単に出せるようになるよ

かりん

え!?そうなの?

今回の記事ではアドレス管理をプログラミングで効率化する方法をご紹介します。

僕が実際に使っているPythonを用いた方法をご紹介します。

なおひ

ソースコードも載せているのでコピペで使えます!

こんな人にオススメ
  • 毎日アドレス探しに時間が掛かっている人
  • Pythonを使った改善事例を知りたい人
  • Pythonファイル入出力の方法を知りたい人
この記事の著者
  • 新卒配属部署が残業地獄&休出多数
  • キャリアコーチングで悩みを明確化
    ⇒社内公募で異動成功
  • 現在は在宅勤務+毎日定時な会社員
  • 仕事に余裕をもつための情報を配信中

運営者プロフィール・Twitter(@Naohi99

目次

今回作った業務効率化アプリ

かりん

今回作ったのはどんなアプリ?

今回作ったアプリは以下の通りのものです。

今回作ったアプリ

送りたい人の名前を入力するとクリップボードにアドレスを貼り付けてくれるアプリ

なおひ

後はメールの宛先欄にペーストするだけでOKです!

アプリの動作

今回のアプリは以下のような動作をします。

STEP
アドレス管理アプリを起動

コマンドプロンプトに「python アドレス管理アプリのファイル名」を打ち込みます。

今回はアドレス管理アプリの名前は「address.py」なので打ち込むコマンドは以下の通りです。

打ち込むコマンド

python address.py

STEP
メールを送る相手の名前を打ち込む

送り先の名前を聞いてくるのでコマンドプロンプト上に打ち込みます。

今回は山本さん(仮名)にメールを送る為、「yamamoto」と打ち込みます。

打ち込むコマンド

yamamoto

STEP
事前に用意したcsvファイルから対応するアドレスとあいさつ文をアプリが探す(自動)

事前に以下のようなcsvファイルを用意しておきます。

このcsvファイルのA列の名前とSTEP2で入力した名前が一致した行のアドレスとあいさつ文を出力します。

STEP
メールアドレスをクリップボードに、あいさつ文をメモ帳に書き込んでポップアップ

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による業務効率化事例は以下の記事で紹介します。↓

今回の内容は以上になります。

ここまで読んでくださりありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次